【问题标题】:Variables from Master Page always empty母版页中的变量始终为空
【发布时间】:2015-06-03 09:42:51
【问题描述】:

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

他们总是空着回来。 我可以看到它们在母版页上设置正确,但在进入内容页的过程中会丢失。

我做错了什么?

【问题讨论】:

  • 尝试在if(!IsPostBack) {}内添加

标签: c# asp.net master-pages


【解决方案1】:

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

您可以选择在母版页的Init 事件中设置这些属性,或者在访问属性时对其进行初始化。

Events in ASP.NET Master and Content Pages

【讨论】:

  • Init 会去哪里?在母版页还是内容页?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-05
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
相关资源
最近更新 更多