2011-08-09 98 views
0

我需要在Master页面上动态加载页眉和页脚,其中有两个占位符用于存储将成为页眉和页脚的用户控件。之所以我这样做是为了让它更具可定制性,而且它也是我的主管所需要的。在Asp.NET主页中初始化页面

所以我在web.config中有两个键值如

<add key="MasterHeader" key="~/Controls/Header.ascx"/> 
    <add key="MasterFooter" key="~/Controls/Footer.ascx"/> 

所以我想知道哪些页面事件我应该加载这些用户控件说

UserControl uc = (UserControl) Page.LoadControl(ConfigFile.MasterHeader)) 
PlaceHolder1.Controls.Add(uc) 
  1. 在哪里上面的代码最好的页面事件?
  2. 我是否需要在页面指令中添加一些内容才能使其工作?

回答

2

我会使用OnPreInit或OnPreLoad。您不需要在页面指令中添加任何内容来完成此项工作,即您描述它的方式。

+0

你能告诉你为什么要把它们放在OnPreInit或OnPreLoad中。 – Tarik

+1

@Braveyard:如果页眉/页脚控件接受用户输入,您需要在回发后检索,那么控件必须在这两个事件中的一个中进行重新水化。 – NotMe