Cómo configurar el texto de la etiqueta ASP.NET al nombre de usuario actual
-
05-07-2019 - |
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?
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>