Pregunta

Estoy intentando establecer un nombre de usuario en una etiqueta, pero no estoy seguro si esta es la sintaxis correcta -
agregar el siguiente marcado genera un error de análisis

<asp:Label ID="userNameLabel" runat="server"
     Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' />

El principal problema aquí es que no sé cómo se llaman <%= %> o <%# %>, por lo tanto, no puedo Google / Bing.

¿Alguien puede señalarme en la dirección correcta?

¿Fue útil?

Solución

Personalmente, establecería el texto de la etiqueta en el código detrás de Page_Load

userNameLabel.Text = User.Identity.Name.Split('\\')[1];

Deberá asegurarse de que haya un \ en el nombre de usuario o recibirá un error.

Otros consejos

Si está intentando convertir User.Identity.Name en un par de cadenas, parece que cambiar char [] a cadena [], debería ser el truco.

El <% #% > La sintaxis es para el enlace de datos. Funcionará para lo que desea hacer, deberá asegurarse de que se llame a DataBind ().

<asp:Label ID="userNameLabel" runat="server" Text='<%# User.Identity.Name.Split('\\')[1] %>' />

Otras opciones incluyen:

Establezca la propiedad Text del evento Page_Load.

void Page_Load(object sender, EventArgs e)
{
    userNameLabel.Text = User.Identity.Name.Split('\\')[1];
}

Envuelva la etiqueta alrededor de la escritura.

<asp:Label ID="userNameLabel" runat="server"><%= User.Identity.Name.Split('\\')[1] %></asp:Label>

Esto también funciona.

    <asp:Label ID="userNameLabel" runat="server">
        <%= User.Identity.Name %>
    </asp:Label>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top