1. 程式人生 > >Asp.net Ajax 客戶端頁面生命週期原生事件

Asp.net Ajax 客戶端頁面生命週期原生事件

init Event [初始化事件]
    在所有指令碼被載入後,在任何一個物件被建立之前引發該事件。如果你打算寫一個元件(指令碼),init 事件提供了一個在生命週期內新增元件(指令碼)到頁面的點。該元件可以被其它在生命週期內的指令碼呼叫。如果你是一個網頁開發人員,在大多數的情況之下,建議用 load 事件來替代 init 事件來處理。

    init 事件只在頁面開始生成時建立一次。後來的部分頁面重新整理將不會引發 init 事件。

load Event [載入事件]
    該事件在所有指令碼被載入後,並且由使用 $create 初始化的所有程式物件被建立後引發。該事件將被所有回送到伺服器引發,這些回送也包括非同步的回送。

    如果你是網頁開發人員,你可以建立一個名為 pageLoad 的函式,該函式是由載入事件本身提供的。該 pageLoad 操作(handler)是在任何一個通過 add_load 方法被新增到 load 事件的操作後可以呼叫。

    load 事件需要一個 Sys.ApplicationLoadEventArgs 物件作為 eventargs 引數。你可以通過該引數來決定頁面是否需要顯示部分重新整理,還可以決定哪些元件應當在上一個引發 load 事件後被建立。

unload Event [解除安裝事件]
    在所有物件被釋放之前,在瀏覽器的 window.unload 事件發生之前被引發。

    你可以通過系統自身提供的一個名為 pageUnload 的函式來處理解除安裝事件。pageUnload 事件是在頁面在瀏覽器中解除安裝時呼叫。在該事件發生期間,我們應當釋放由程式碼佔用的全部資源。

propertyChanged Event [屬性改變事件]
    當某元件的屬性發生改變時引發。應用程式物件是從 Component 類那裡繼承了這個事件。該事件僅在開發人員在設定一個屬性值的時候呼叫了 Sys.Component.raisePropertyChange 方法而引發的。

    更多資訊請檢視 Defining Custom Component Properties and Raising PropertyChanged Events.
屬性改變事件需要一個 Sys.applicationLoadEventArgs 物件作為 eventargs 引數。

disposing Event [釋放事件]


    該事件是在應用程式例項被釋放時引發的。應用程式物件從 Component 類繼承了該事件。

initializeRequest Event [初始化請求事件]
    該事件發生在一個非同步請求開始時。你可以通過使用該事件來取消一個傳統的回送,例如讓一個非同步回送獲得優先。

    初始化請求事件需要一個 Sys.WebForms.InitializeRequestEventArgs 物件提供的 eventargs 引數。該物件提供了那些引起回送和暗藏的(underlying)請求的物件的有用的元素。該事件還暴露了 cancel 屬性。如果你設定 cancel 值為 true,一個新的回送將被撤銷。

beginRequest Event [開始請求事件]
    該事件是在一個回送到伺服器的非同步回送開始前引發。如果當前已經存在了一個回送程序,則會被停止(by using the abortPostBack method)。你可以使用該事件來設定請求的頭部或顯示一個有趣的(animation)提示在頁面中,表示該請求正在進行中。

    該事件需要一個 Sys.WebForms.BeginRequestEventArgs 物件作為 eventargs 引數。該物件提供了引起回送的和暗藏的(underlying)請求物件的有用的元素。

pageLoading Event [頁面正在載入事件]
    當確定一個非同步回送被伺服器端接收後,在頁面任何內容被更新前引發。可以使用該事件來為需要更新的內容提供一個定製過渡效果。

    該事件需要一個 Sys.WebForms.PageLoadingEventArgs 物件作為 eventargs 引數。該物件提供了最近的非同步回送返回的結果關於哪些 panels 會被刪除和更新的有用的資訊。

pageLoaded Event[頁面載入完成事件]
    在頁面所有內容被一個同步或非同步回送結果重新整理之後引發。在同步回送時,panels 只能被建立,但在非同步回送時,panels 可以被建立和更新。可以通過使用該事件來管理一個為需要更新的內容定製的變化效果。

    該事件需要一個 Sys.WebForms.PageLoadedEventArgs  物件作為 eventargs 引數。該物件提供了關於最近回送時的那些 panels 被更新和建立的有用的資訊。

endRequest Event [結束請求事件]
    在響應了完成一個非同步回送和頁面被更新後,或在請求過程中發生了錯誤後引發。如果發生了某個錯誤,頁面將不會被更新。通過使用這個事件來提供一個定製的錯誤提示給訪問者或登記到錯誤日誌。

    該事件需要一個 Sys.WebForms.EndRequestEventArgs 物件作為 eventargs 引數。該物件提供了有關被引發的錯誤和錯誤是否被處理的一些有用的資訊。它還提供了有關相應物件的可用的資訊。
【英文參考:】http://asp.net/ajax/documentation/live/overview/ajaxclientevents.aspx