在作完上图后,无意中看到网上类似的一篇文章,也非常精彩,转载在下面供大家参考。申明,以下内容为转载,因某些原因作者和出处无法考证,本文作者不享有以下内容的版权。
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 |
|
|
作者:菩提树下的杨过
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。