熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Page

2022-06-13   來源: .NET編程 

  網頁的生命周期列表

  PreInit ()
        >初始化Theme應用MasterPage和控件Skin
        >Init
        >InitComplete ()
        >If PostBack創建子控件並加載控件/視圖狀態
        >PreLoad ()
        >Load
        >If PostBack則觸發服務器端事件
        >LoadComplete ()
        >If not PostBack則創建子控件
        >PreRender
        >PreRenderComplete ()
        >保存控件/視圖狀態
        >SaveStateComplete ()
        >Render
        >Unload

  需要注意的是上圖中標注()的事件即ASPNET 中新增的事件都僅僅是Page類中可以使用並不是像其他事件一樣可以在控件中使用

  ASPNET 中可以通過啟用(默認值為True)AutoEventWireUp為網頁事件創建事件處理程序並使用隱式為事件處理程序注冊的方法名
        以下是VS隱式為各個事件添加關聯的方法

  事件                                                >           方法名
        PagePreInit                                     >           Page_PreInit
        ControlInit                                      >           Page_Init
        PageInitComplete                            >           Page_InitComplete
        PagePreLoad                                    >           Page_PreLoad
        ControlLoad                                     >           Page_Load
        PageLoadComplete                           >           Page_LoadComplete
        ControlPreRender                             >           Page_PreRender
        ControlDataBinding                          >           Page_DataBind
        PagePreRenderComplete                   >           Page_PreRenderComplete
        PageSaveStateComplete                     >           Page_SaveStateComplete
        ControlUnload                                    >           Page_Unload
        TemplateControlError                        >           Page_Error
        TemplateControlAbortTransation     >   Page_AbortTransation
        TemplateControlAbortTransation     >   OnTransationAbort
        TemplateControlCommitTransation   >   Page_CommitTransation
        TemplateControlCommitTransation   >   OnTransationCommit

  Page基類會在請求的開頭階段調用基類TemplateControl的HookUpAutomaticHandlers方法該方法遍歷上表中所示的方法名並使用反射在程序員的類中查找具有相同名稱和合適特征標的方法如果找到合適的方法則創建一個類型合適的委托並使用該方法初始化它並將其加入委托列表該委托在相應事件發生時候將被觸發
        這些事件都是由基類Page的一個虛方法或者Page類從基類Control繼承的虛方法觸發所以可以有三種方法注冊這些事件(以Load事件為例)

  顯式的將一個委托和一個事件關聯起來(通常都是在網頁的Init處理程序中)
        編寫一個名為Page_Load的方法並使其特征標和事件相同
        重寫Override虛方法Onload

  這個三個方法中重寫Override比較快一點點但是VS默認是第二種


From:http://tw.wingwit.com/Article/program/net/201311/12376.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.