如何将ASP.NET标签文本设置为当前用户名
-
05-07-2019 - |
题
我正在尝试将用户名设置为标签,
但不确定这是否是正确的语法 -
添加以下标记会生成解析错误
<asp:Label ID="userNameLabel" runat="server"
Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' />
这里的主要问题是,我不知道<%= %>
或<%# %>
被调用了什么,因此不能谷歌/ Bing。
有人能指出我正确的方向吗?
解决方案
我个人会在Page_Load
中的代码中设置标签的文本userNameLabel.Text = User.Identity.Name.Split('\\')[1];
您需要确保用户名中有\,否则您将收到错误。
其他提示
如果您尝试将User.Identity.Name转换为几个字符串,它看起来将char []更改为string [],应该这样做。
<!> lt;%#%<!> gt;语法用于数据绑定。它适用于您想要做的事情,您需要确保调用DataBind()。
<asp:Label ID="userNameLabel" runat="server" Text='<%# User.Identity.Name.Split('\\')[1] %>' />
其他选项包括:
从Page_Load事件设置Text属性。
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>
不隶属于 StackOverflow