母版页中的变量始终为空

Variables from Master Page always empty

我在 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;

他们总是空着回来。 我可以看到它们在母版页上设置正确,但在前往内容页的途中丢失了。

我做错了什么?

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

您可以选择在母版页的 Init 事件中设置这些属性,或者在访问 属性.

时初始化它们

参见Events in ASP.NET Master and Content Pages