最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Asp.Net頁面(母版頁)加載順序

2021-03-14 15:03 作者:老-_-白  | 我要投稿

ASP.NET 母版頁和內(nèi)容頁中的事件

?

母版頁和內(nèi)容頁都可以包含控件的事件處理程序。對(duì)于控件而言,事件是在本地處理的,即內(nèi)容頁中的控件在內(nèi)容頁中引發(fā)事件,母版頁中的控件在母版頁中引發(fā)事件??丶录粫?huì)從內(nèi)容頁發(fā)送到母版頁。同樣,也不能在內(nèi)容頁中處理來自母版頁控件的事件。

在某些情況下,內(nèi)容頁和母版頁中會(huì)引發(fā)相同的事件。例如,兩者都引發(fā) Init 和 Load 事件。引發(fā)事件的一般規(guī)則是初始化事件從最里面的控件向最外面的控件引發(fā),所有其他事件則從最外面的控件向最里面的控件引發(fā)。請(qǐng)記住,母版頁會(huì)合并到內(nèi)容頁中并被視為內(nèi)容頁中的一個(gè)控件,這一點(diǎn)十分有用。

下面是母版頁與內(nèi)容頁合并后事件的發(fā)生順序:

母版頁控件 Init 事件。

內(nèi)容控件 Init 事件。

母版頁 Init 事件。

內(nèi)容頁 Init 事件。

內(nèi)容頁 Load 事件。

母版頁 Load 事件。

內(nèi)容控件 Load 事件。

內(nèi)容頁 PreRender 事件。

母版頁 PreRender 事件。

母版頁控件 PreRender 事件。

內(nèi)容控件 PreRender 事件。

母版頁和內(nèi)容頁中的事件順序?qū)τ陧撁骈_發(fā)人員并不重要。但是,如果您創(chuàng)建的事件處理程序取決于某些事件的可用性,那么您將發(fā)現(xiàn),了解母版頁和內(nèi)容頁中的事件順序很有幫助。

?

關(guān)于asp.net中頁面事件加載的先后順序

?

Page 執(zhí)行中將按照如下順序激活事件:

Page.PreInit

Page.Init

Page.InitComplite

Page.PreLoad

Page.Load

Page.LoadComplete

Page.PreRender

Page.PreRenderComplete

?

如果頁面從另一個(gè)頁面繼承,如BasePage:System.Web.UI.Page,在BasePage中做了一些擴(kuò)展,如權(quán)限檢查,而其他頁面從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

更進(jìn)一步,如果ContentPage繼承BasePage,那么,各事件的執(zhí)行順序?qū)⒆兂桑?/p>

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

瀏覽下來發(fā)現(xiàn)并不是我現(xiàn)在所學(xué)的asp.net 1.1,估計(jì)應(yīng)該是asp.net 2.0,

不過也沒有關(guān)系,這讓我知道了他們有繼承時(shí)加載的順序。

即:先加載繼承頁的,再加載自己的,如果繼承頁有繼承則先加載繼承頁的繼承。

其實(shí)是個(gè)很簡(jiǎn)單的內(nèi)容。順便寫下Page事件(不知道1.1是不是就這些)

事件處理器名稱
?發(fā)生時(shí)間
?
Page_Init
?在Web窗體的視圖狀態(tài)加載服務(wù)器控件并對(duì)其初始化。

這是web窗體生命周期的第一步
?
Page_Load 在Page對(duì)象上載入服務(wù)器控件。由于此時(shí)視圖狀態(tài)信息是可以使用的,

因此載這里可以用代碼來改變空間的設(shè)置或者載頁面上顯示文本。
?
Page_PreRender 應(yīng)用程序?qū)⒁尸F(xiàn)Page對(duì)象?
Page_Unload 頁面從內(nèi)存中卸載?
Page_Error 發(fā)生未處理的異常?
Page_AbortTransaction 事務(wù)處理被終止?
Page_CommitTransaction 事務(wù)處理被接受?
Page_DataBinding 把頁面上的服務(wù)器空間和數(shù)據(jù)源綁定載一起?
Page_Disposed Page對(duì)象從內(nèi)存中釋放掉。這是Page對(duì)象生命周期中的最后一個(gè)事件


Init,Load,PreRender事件執(zhí)行順序:

1)控件的Init事件

2)控件所在頁面的Init事件

3)控件所在頁面的Load事件

4)控件的Load事件

5)控件所在頁面的PreRender事件

6)控件的PreRender事件

規(guī)律:

1)Init事件從最里面的控件(包括用戶控件及普通控件)向最外面的控件(頁面)引發(fā),Load及PreRender等其他事件從最外面的控件向最里面的控件引發(fā);

2)控件之間相同事件的執(zhí)行順序依控件在頁面的位置按從左到右,從上到下的先后順序執(zhí)行。

注意:

1)切記用戶控件也被視為頁面中的一個(gè)控件;

2)把用戶控件作為單獨(dú)的一個(gè)特殊頁面來看,它本身及其所包含的控件同樣遵守相同的規(guī)律;

3)有時(shí)在客戶端程序(如javascript)中會(huì)用到客戶端body對(duì)像的onload事件,注意這個(gè)客戶端事件是最后執(zhí)行,即在服務(wù)器端所有事件執(zhí)行完后才執(zhí)行。


Asp.Net頁面(母版頁)加載順序的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
元阳县| 梅州市| 阿坝县| 苏州市| 都江堰市| 台北市| 砀山县| 株洲市| 砚山县| 达尔| 探索| 巍山| 黄大仙区| 宁南县| 蓝田县| 泾川县| 延边| 崇礼县| 杭锦后旗| 调兵山市| 万荣县| 阜城县| 观塘区| 涞水县| 阳谷县| 巴彦淖尔市| 崇阳县| 德安县| 临江市| 洪洞县| 萨迦县| 彰武县| 芜湖市| 襄城县| 鄯善县| 晋江市| 杭州市| 申扎县| 新竹市| 都匀市| 凉城县|