Como definir o texto da etiqueta ASP.NET para nome do usuário atual
-
05-07-2019 - |
Pergunta
Estou tentando definir um nome de usuário para um rótulo,
mas não tenho certeza se esta é a sintaxe correta -
acrescentando seguinte marcação gera um erro de análise
<asp:Label ID="userNameLabel" runat="server"
Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' />
O principal problema aqui é que, eu não sei o que <%= %>
ou <%# %>
são chamados, portanto, não pode Google / Bing.
Pode alguém me aponte para uma direção certa?
Solução
Pessoalmente eu gostaria de definir o texto da etiqueta no trás código em Page_Load
userNameLabel.Text = User.Identity.Name.Split('\\')[1];
Você vai precisar para assegurar que há um \ o nome de usuário ou você receberá um erro.
Outras dicas
Se você está tentando converter User.Identity.Name em um par de cordas, que parece mudar char [] para string [], deve fazer o truque.
O <% #%> sintaxe é para vinculação de dados. Ele vai trabalhar para o que você quer fazer, você vai precisar para se certificar de que DataBind () é chamado.
<asp:Label ID="userNameLabel" runat="server" Text='<%# User.Identity.Name.Split('\\')[1] %>' />
Outras opções incluem:
Defina a propriedade de texto a partir do evento Page_Load.
void Page_Load(object sender, EventArgs e)
{
userNameLabel.Text = User.Identity.Name.Split('\\')[1];
}
Enrole a etiqueta em torno da escrita.
<asp:Label ID="userNameLabel" runat="server"><%= User.Identity.Name.Split('\\')[1] %></asp:Label>
Isso funciona bem.
<asp:Label ID="userNameLabel" runat="server">
<%= User.Identity.Name %>
</asp:Label>