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?

Foi útil?

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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top