首页 > 解决方案 > asp.net 显示列在 aspx 文件中

问题描述

在 Asp.Net SiteMaster 上,每当用户登录并成功时,用户的用户名都会显示在右上角。代码通常是这样的:

<li><a runat="server" href="~/Account/ManagePassword">Hello, <%: Context.User.Identity.GetUserName()  %> !</a></li>

现在我想要发生的是,只要用户成功登录,就会发布用户的全名。

为此,我基本上在表下配置了 Asp.Net 的默认数据库AspNetUser以添加额外的列,例如全名。当我尝试使用 更改上述代码时<%: Context.User.Identity.Fullname(),出现错误

'IIdentity' does not contain a definition for 'Fullname' and no extension method 'Fullname' accepting a first argument of type 'IIdentity' could be found (are you missing a using directive or an assembly reference?)

如何使全名列填充显示名称?提前致谢。

标签: c#asp.netwebforms

解决方案


尝试这个 :

在母版页中添加:

  <nav class="header-navbar navbar-expand-md navbar navbar-with-menu navbar-without-dd-arrow fixed-top navbar-semi-light">
        <div class="navbar-wrapper">
            <div class="navbar-container content">
                <div class="collapse navbar-collapse show" id="navbar-mobile">
                    <ul class="nav navbar-nav mr-auto float-left">
                        <li class="nav-item mobile-menu d-md-none mr-auto"><a class="nav-link nav-menu-main menu-toggle hidden-xs" href="#"><i class="ft-menu font-large-1"></i></a></li>
                        <li class="nav-item d-none d-md-block"><a class="nav-link nav-menu-main menu-toggle hidden-xs" href="#"><i class="ft-menu"></i></a></li>
                        <li class="nav-item d-none d-md-block"><a class="nav-link nav-link-expand" href="#"><i class="ficon ft-maximize"></i></a></li>
                    </ul>
                    <ul class="nav navbar-nav float-right">

                        <li class="nav-item"><span class="user-name text-bold-700 ml-1">
                            <asp:Label ID="UserName" runat="server" Text="" CssClass="form-control" Style="background: none !important; color: white !important; border: none!important"></asp:Label></span></li>
                        <li class="dropdown dropdown-user nav-item">

                            <a class="dropdown-toggle nav-link dropdown-user-link" href="#" data-toggle="dropdown">
                                <span class="avatar avatar-online">
                                    <img src="../../images/Admin.png" alt="Admin" />
                            </a>

                            <div class="dropdown-menu dropdown-menu-right">
                                <div class="arrow_box_right">

                                    <a class="dropdown-item" href="../../Logout.aspx"><i class="ft-power"></i>Logout</a>
                                </div>
                            </div>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
    </nav>

C#代码:

您应该检查会话值是否存在会话,然后它将显示名称,否则如果会话为空,则重定向到登录页面

 protected void Page_Load(object sender, EventArgs e)
    {
      if (Session["User_ID"] == null)
       {
         Response.Redirect("~/Default.aspx");
       }
       else
       {
         UserName.Text = Session["Employee_Name"].ToString() + " (" + Session["User_ID"].ToString() + ")";
        }
     }

推荐阅读