asp.net页面事件执行顺序(转)
Page中将按如下顺序执行页面事件:
一,Page.PreInit---->Page.Init---->Page.InitComplete---->Page.PreLoad---->Page.Load---->Page.LoadComplete---->
Page.PreRender---->Page.PreRenderComplete
二,如果页面从基类继承如(BasePage:System.Web.UI.Page),其它页面也从BasePage类继承那么BasePage和最终Page的执行顺序:
UI.PreInit---->Page.PreInit---->UI.Init---->Page.Init---->UI.InitComplete---->Page.InitComplete---->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.InitComplete---->Content.PreLoad---->Content.Load---->Master.Load---->ContentPage.LoadComplete---->ContentPage.PreRender---->Master.PreRender---->Content.PreRenderComplete
(Master初始化在ContentPage初始化之前,ContentPage.PreRender在Master.PreRender之前)
四,如果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