从UserControl在Master Page中设置值

时间:2011-02-17 07:30:27

标签: asp.net master-pages

我有以下情况:

MasterPage MyMaster.Master

内容页面Content.aspx

UserControl MyUserControl.ascx

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

MyMaster.Master有一个变量我可以从Content.aspx访问,因为我有@MasterType指令集。我想要做的是以下内容:

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

2)来自Content.aspx的访问值

3)在MyMaster.Master中设置值

步骤2在contentLo的content.aspx中实现,如下所示:

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中检查该值并尝试显示它是否为真。这不起作用。

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

任何帮助都非常感激。

由于

1 个答案:

答案 0 :(得分:1)

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

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