Как установить текст метки ASP.NET для текущего имени пользователя
-
05-07-2019 - |
Вопрос
Я пытаюсь установить имя пользователя для метки,
но не уверен, что это правильный синтаксис -
добавление следующей разметки приводит к ошибке разбора
<asp:Label ID="userNameLabel" runat="server"
Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' />
Основная проблема здесь в том, что я не знаю, как называются <%= %>
или <%# %>
, поэтому не могу Google / Bing.
Может ли кто-нибудь указать мне правильное направление?
Решение
Лично я бы установил текст метки в коде в Page_Load
userNameLabel.Text = User.Identity.Name.Split('\\')[1];
Вам нужно убедиться, что в имени пользователя есть \, иначе вы получите ошибку.
Другие советы
Если вы пытаетесь преобразовать User.Identity.Name в пару строк, похоже, что изменение char [] в string [] должно помочь. Р>
<% #% > Синтаксис для привязки данных. Это будет работать для того, что вы хотите сделать, вам нужно убедиться, что 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>
Это тоже работает.
<asp:Label ID="userNameLabel" runat="server">
<%= User.Identity.Name %>
</asp:Label>