【问题标题】:How to set ASP.NET label text to current user name如何将 ASP.NET 标签文本设置为当前用户名
【发布时间】:2009-10-22 21:07:35
【问题描述】:

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

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

这里的主要问题是,我不知道&lt;%= %&gt;&lt;%# %&gt; 被称为什么,因此无法使用Google/Bing。

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

【问题讨论】:

  • 这可能会有所帮助:naspinski.net/post/…
  • @ChristopheD:如果您将其发布为答案,我会选择您的链接作为答案...

标签: asp.net terminology parse-error


【解决方案1】:

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

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

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

【讨论】:

  • 现在,这就是我解决的问题。谢谢 RR
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    语法用于数据绑定。它适用于您想要做的事情,您需要确保调用 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>
    

    【讨论】:

      【解决方案4】:

      这也有效。

          <asp:Label ID="userNameLabel" runat="server">
              <%= User.Identity.Name %>
          </asp:Label>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-20
        • 1970-01-01
        相关资源
        最近更新 更多