0

我正在尝试将用户名设置为标签,但不确定这是否是正确的语法 -
添加以下标记会生成解析错误

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

这里的主要问题是,我不知道什么<%= %>或被<%# %>称为,因此不能谷歌/必应。

有人能指出我正确的方向吗?

4

4 回答 4

3

就我个人而言,我会在 Page_Load 后面的代码中设置标签的文本

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

您需要确保用户名中有 \ ,否则您将收到错误消息。

于 2009-10-22T21:14:33.150 回答
0

如果您尝试将 User.Identity.Name 转换为几个字符串,看起来将 char[] 更改为 string[],应该可以解决问题。

于 2009-10-22T21:13:13.080 回答
0

<%# %> 语法用于数据绑定。它适用于您想要做的事情,您需要确保调用 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>
于 2009-10-22T21:17:10.623 回答
0

这也有效。

    <asp:Label ID="userNameLabel" runat="server">
        <%= User.Identity.Name %>
    </asp:Label>
于 2009-10-23T03:22:07.880 回答