在Atlas裡面,PageRequestManager類和ScriptManager以及UpdatePanel有同等重要的地位。她通過暴露方法,屬性和事件使得客戶端編程變得更簡單。她允許你在客戶端的頁面周期中處理因為局部刷新而產生的事件。
想使用PageRequestManager,在頁面中必須包含ScriptManager控件,而且她的 EnablePartialRendering屬性必須設為true(默然為true)。每個頁面都包含一個PageRequestManager實例,我們只需要獲取她的一個當前引用就可以了,如:Sys.WebForms.PageRequestManager.getInstance()。這樣我們就可以使用她所有的屬性,方法和事件了。
對於普通頁面,當加載的時候會激活window.onload事件,當刷新或者離開該頁面的時候則會激活window.onunload事件,但是在發生異步回發的時候則不會。為了在異步回發的時候管理這些類型的事件,ScriptManager類提供了一套事件,和window.onload這類DOM事件類似,更重要的是在發生異步回發的時候所有這些事件都會被激活(同步回發的時候只會激活pageLoaded事件)。下面按照事件發生的順序來逐一例出:
一 initializeRequest 在異步請求初始化之前發生。
二 beginRequest 在請求發送到服務器之前發生。
三 pageLoading 在請求發送以後,頁面更新之前發生。
四 pageLoaded 在頁面更新後發生。
五 endRequest 在整個請求結束後發生。