我正在尝试将用户名设置为标签,但不确定这是否是正确的语法 -
添加以下标记会生成解析错误
<asp:Label ID="userNameLabel" runat="server"
Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' />
这里的主要问题是,我不知道什么<%= %>
或被<%# %>
称为,因此不能谷歌/必应。
有人能指出我正确的方向吗?
我正在尝试将用户名设置为标签,但不确定这是否是正确的语法 -
添加以下标记会生成解析错误
<asp:Label ID="userNameLabel" runat="server"
Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' />
这里的主要问题是,我不知道什么<%= %>
或被<%# %>
称为,因此不能谷歌/必应。
有人能指出我正确的方向吗?
就我个人而言,我会在 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] %>' />
其他选项包括:
从 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>