引用 : http://www.cnblogs.com/steden/archive/2010/04/07/1705864.html
ASP.NET 2.0 中 Page 事件的執行順序
Page 執行中將按照如下順序發生事件:
Page.PreInit
Page.Init
Page.InitComplite
Page.PreLoad
Page.Load
Page.LoadComplete
Page.PreRender
Page.PreRenderComplete
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
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.PreInit
Master.InitContent
Page.InitContent
Page.InitCompliteContent
Page.PreLoadContent
Page.Load
Master.LoadContent
Page.LoadComplete
ContentPage.PreRender
Master.PreRenderContent
Page.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
沒有留言 :
張貼留言