以下是母版页与内容页面合并时发生事件的顺序:
Content page PreInit event.
Master page controls Init event.
Content controls Init event.
Master page Init event.
Content page Init event.
Content page Load event.
Master page Load event.
Master page controls Load event.
Content page controls Load event.
Content page PreRender event.
Master page PreRender event.
Master page controls PreRender event.
Content page controls PreRender event.
Master page controls Unload event.
Content page controls Unload event.
Master page Unload event.
Content page Unload event.
但为什么母版页在PreInit
中没有ASP.NET
个事件?
答案 0 :(得分:4)
母版页继承:System.Web.UI.MasterPage
并且根据此MasterPage
类的设计,没有为此类定义此类PreInit
事件。
母版页从Control类派生,如下面的层次结构所示:
System.Object
System.Web.UI.Control
System.Web.UI.TemplateControl
System.Web.UI.UserControl
System.Web.UI.MasterPage
因此,正如现在可以猜到的那样,Master页面的行为和实质上被视为一个控件,并且具有与其他asp.net服务器控件类似的事件。
一个建议的阅读是this
。
答案 1 :(得分:1)
Masterpage没有PreInit方法。
您可以采用多种替代方案。
1,为要继承的所有其他页面创建公共基页类,在该类中设置theme属性; http://www.odetocode.com/Articles/450.aspx
答案 2 :(得分:0)
事件的发生将如下所示;
内容页面init
LOAd内容页面加载
LOAd用户控制加载
内容页面渲染
有关示例的详细信息,请参阅以下链接;
http://getmscode.blogspot.in/2014/11/sequence-of-events-in-master-page-and.html
答案 3 :(得分:0)
与UrlMapping模型相同,创建一个应由IHttpModule生成的类,然后将其引用添加到Web.config
merge