从Master Page获取headlogin名称

时间:2013-01-02 17:10:17

标签: asp.net master-pages

如何从母版页中获取以下指定的HeadLoginName? (保存变量) 感谢

 <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
                <AnonymousTemplate>
                    <a href="~/login.aspx" ID="HeadLoginStatus" runat="server">Log In</a>
                </AnonymousTemplate>
                <LoggedInTemplate>
                    Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
                    [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/logout.aspx"/> ]
                </LoggedInTemplate>
  </asp:LoginView>

enter image description here

2 个答案:

答案 0 :(得分:1)

使用以下内容结束获取用户名: System.Web.HttpContext.Current.User.Identity.Name

简单得多。感谢

答案 1 :(得分:0)

你应该可以使用:

var view = (LoginView)(Page.Master.FindControl("HeadLoginView");
if (view != null)
{
   var loginName = (LoginName)view.FindControl("HeadLoginName");
   if (loginName != null)
   {

   }
}

有更好的设计模式可以公开您可以执行的这些类型的事情,例如为主页面提供接口定义,并将主属性转换为该接口。然后你可以暴露你想要的任何东西。