Как установить текст метки ASP.NET для текущего имени пользователя - PullRequest
0 голосов
/ 23 октября 2009

Я пытаюсь установить имя пользователя для метки, но не уверен, что это правильный синтаксис -
добавление следующей разметки приводит к ошибке разбора

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

Основная проблема здесь в том, что я не знаю, как называются <%= %> или <%# %>, поэтому не может Google / Bing.

Может ли кто-нибудь указать мне правильное направление?

Ответы [ 4 ]

3 голосов
/ 23 октября 2009

Лично я бы установил текст метки в коде, указанном в Page_Load

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

Вам необходимо убедиться, что в имени пользователя есть \, иначе вы получите ошибку.

0 голосов
/ 23 октября 2009

Это тоже работает.

    <asp:Label ID="userNameLabel" runat="server">
        <%= User.Identity.Name %>
    </asp:Label>
0 голосов
/ 23 октября 2009

Синтаксис <% #%> предназначен для привязки данных. Он будет работать для того, что вы хотите сделать, вам нужно убедиться, что DataBind () вызван.

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

Другие опции включают в себя:

Установите свойство Text из события Page_Load.

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

Оберните этикетку вокруг записи.

<asp:Label ID="userNameLabel" runat="server"><%= User.Identity.Name.Split('\\')[1] %></asp:Label>
0 голосов
/ 23 октября 2009

Если вы пытаетесь преобразовать User.Identity.Name в пару строк, похоже, что изменение char [] в string [], должно помочь

...