在作完上图后,无意中看到网上类似的一篇文章,也非常精彩,转载在下面供大家参考。申明,以下内容为转载,因某些原因作者和出处无法考证,本文作者不享有以下内容的版权。
Page 执行中将按照如下顺序激活事件:
Page.PreInit Page.Init Page.InitComplite Page.PreLoad Page.Load Page.LoadComplete Page.PreRender Page.PreRenderComplete
如果页面从令一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩展,如权限检查,而其他页面从BasePage继承,则BasePage和最终Page的事件激活顺序是:
UI.PreInit Page.PreInit UI.Init Page.Init UI.InitComplite Page.InitComplite UI.PreLoad Page.PreLoad UI.Load Page.Load UI.LoadComplete Page.LoadComplete UI.PreRender Page.PreRender UI.PreRenderComplete Page.PreRenderComplete
如果使用了MasterPage,则MasterPage中的事件和ContentPage中的事件按照下面顺序激活:
ContentPage.PreInit Master.Init ContentPage.Init ContentPage.InitComplite ContentPage.PreLoad ContentPage.Load Master.Load ContentPage.LoadComplete ContentPage.PreRender Master.PreRender ContentPage.PreRenderComplete
更进一步,如果ContentPage继承BasePage,那么,各事件的执行顺序将变成:
UI.PreInit ContentPage.PreInit Master.Init UI.Init ContentPage.Init UI.InitComplite ContentPage.InitComplite UI.PreLoad ContentPage.PreLoad UI.Load ContentPage.Load Master.Load UI.LoadComplete ContentPage.LoadComplete UI.PreRender ContentPage.PreRender Master.PreRender UI.PreRenderComplete ContentPage.PreRenderComplete
MasterPage.master
UserControl_OnTop.ascx
Page.aspx
UserControl_InPage.ascx
UserControl_OnButtom.ascx
MasterPage |
UserControlOnTop |
Page |
UserControlInPage |
UserControlOnButtom |
|
Init |
|
|
|
|
|
|
Init |
|
|
|
|
|
Init |
Init |
|
|
|
|
|
|
Init |
|
|
|
|
Load |
|
|
Load |
|
|
|
|
|
Load |
|
|
|
|
|
|
Lod |
|
|
|
|
|
Load |
ControlEvents |
ControlEvents |
ControlEvents |
ControlEvents |
ControlEvents |
|
|
PreRender |
|
|
PreRender |
|
|
|
|
|
PreRender |
|
|
|
|
|
|
PreRender |
|
|
|
|
|
PreRender |
|
UnLoad |
|
|
|
|
|
|
UnLoad |
|
|
|
|
|
UnLoad |
UnLoad |
|
|
|
|
|
|
UnLoad |
|
|
请发表评论