Master Page的变量始终为空

时间:2015-03-30 11:32:53

标签: c# asp.net master-pages

我在MasterPage上设置了这些变量

    public string CurrentUser = "";
    public string UserDomain = "";

    protected void Page_Load(object sender, EventArgs e)
    {

        string Name = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        string[] userDetails = Request.LogonUserIdentity.Name.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
        UserDomain = userDetails[0];
        CurrentUser = userDetails[1];
    }

在子页面中,我只是想回读这些值:

CurrentUser = ((SiteMaster)Page.Master).CurrentUser;
UserDomain = ((SiteMaster)Page.Master).UserDomain;

他们总是空着回来。 我可以看到它们在Master页面上设置正确,但在前往内容页面的路上会丢失。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

主页面加载事件发生在内容页面加载事件之后。这可能意味着变量在 之后被初始化在内容页面中访问它们。

您可以选择在母版页的Init事件中设置这些属性,也可以在访问属性时初始化它们。

请参阅Events in ASP.NET Master and Content Pages