ASp.NET 2.0中Page事件的执行顺序

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 
posted @ 2008-01-09 11:55  一瞬间  阅读(363)  评论(0编辑  收藏  举报