2010-09-23 62 views

回答

4

在實現IPostBackDataHandler接口的所有控件中,有兩個可重寫的方法LoadPostData和RaisePostDataChangedEvent方法。在頁面加載時,ASP.Net會檢查相同的內容。

一旦完全識別HTTP頁面處理程序類,ASP.NET運行時將調用處理程序的ProcessRequest方法來處理請求。

接下來,的ProcessRequest使得頁面中轉各個階段:初始化,視圖狀態信息,並回傳數據的加載,該網頁的用戶代碼的加載和回傳服務器端事件執行

簡單來說,當用戶點擊一個按鈕時,頁面回傳。發佈值的集合包含啓動整個操作的按鈕的ID。如果已知該控件實現IPostBackEventHandler接口(按鈕和鏈接按鈕將執行),則頁框架會調用RaisePostBackEvent方法。

有關於ASP.Net頁面週期here

一款優秀且詳細的文章你可以找到更多的細節那裏。

快樂編程

+0

感謝您的回答,我經歷了它,它的信息量很大。 – 2010-09-27 05:36:32

+0

IsPostBack是一個只讀屬性,所以asp.net在其中更改其值。 ProcessRequest(HttpContext上下文)方法如何執行此操作。 – 2010-09-27 05:38:50

1

IsPostBack由ASP.NET框架設置。處理IsPostBack值對開發人員是透明的。 IsPostBack varaible僅在PreInit事件中設置。要獲得更多關於此的信息,您需要檢查ASP.NET頁面生命週期。它可以在msdn here上找到。