Question

J'essaie de définir un nom d'utilisateur pour une étiquette, mais je ne sais pas si c'est la bonne syntaxe -
l'ajout du balisage suivant génère une erreur d'analyse

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

Le principal problème ici est que, je ne sais pas comment <%= %> ou <%# %> sont appelés, donc Google / Bing ne peut pas.

Quelqu'un peut-il m'indiquer une bonne direction?

Était-ce utile?

La solution

Personnellement, je définirais le texte de l'étiquette dans le code situé dans Page_Load

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

Vous devez vous assurer qu'il y a un \ dans le nom d'utilisateur ou vous obtiendrez une erreur.

Autres conseils

Si vous essayez de convertir User.Identity.Name en quelques chaînes, il semble que changer char [] en string [] devrait suffire.

Le <% #% > la syntaxe est pour la liaison de données. Cela fonctionnera pour ce que vous voulez faire, vous devrez vous assurer que DataBind () est appelé.

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

Les autres options incluent:

Définissez la propriété Text à partir de l'événement Page_Load.

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

Enroulez l'étiquette autour de l'écriture.

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

Cela fonctionne aussi bien.

    <asp:Label ID="userNameLabel" runat="server">
        <%= User.Identity.Name %>
    </asp:Label>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top