【问题标题】:setting value in MasterPage from UserControl从 UserControl 在 MasterPage 中设置值
【发布时间】:2011-02-17 15:38:03
【问题描述】:

我有以下情况:

母版页 MyMaster.Master

内容页面Content.aspx

一个用户控件 MyUserControl.ascx

MyUserControl.ascx 正在 Content.aspx 中使用,并且正在以编程方式添加。内容页面正在使用 MyMaster.Master

MyMaster.Master 有一个变量,我可以从 Content.aspx 访问它,因为我设置了 @MasterType 指令。我想做的是:

1) 在 MyUserControl.ascx 中设置一个值

2) 从 Content.aspx 访问值

3) 在 MyMaster.Master 中设置值

第二步在content.aspx的PageLoad中实现如下:

Control ucControl= LoadControl("/UserControls/MyUserControl.ascx");
UserControls_MyUserControl myUC = ucControl as UserControls_MyUserControl;
//Do some caching stuff here
if (myUC != null)
    myUC.PreRender += new EventHandler(myUC_PreRender);

PreRender 处理程序只是将 MyMaster.Master 中的一个值设置为 true。在 MyMaster.Master 中,我检查 PageLoad 中的值并尝试显示某些内容(如果为真)。这不起作用。

我怀疑它与页面生命周期有关,但我似乎无法找到哪个部分出错。

非常感谢任何帮助。

谢谢

【问题讨论】:

    标签: asp.net master-pages


    【解决方案1】:

    只是 PreRender 事件发生在 Load 事件之后。您必须在设置变量之后发生的事件中检查变量。

    您可以在此处查看页面循环中事件的顺序:ASP.NET Page Life Cycle Overview

    【讨论】:

      猜你喜欢
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多