首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 內部機制深度解析(三):PostBack 資料處理與伺服器事件觸發機制

     編輯:關於ASP.NET

當使用者點擊按鈕導致表單回傳,伺服器如何識別觸發控制項並引發對應事件?本篇以流程圖解方式詳細說明:

核心流程

  1. 用戶端提交表單,包含所有 input 值與 __EVENTTARGET、__EVENTARGUMENT 隱藏欄位。
  2. 伺服器解析請求,取得 __EVENTTARGET 值(觸發回傳的控制項 UniqueID)。
  3. 在已編譯的頁面類別(如 Default_aspx)中尋找同 ID 控制項。
  4. 若找到且實作 IPostBackEventHandler,於生命週期適當階段(RaisePostBackEvent)呼叫 RaisePostBackEvent 觸發事件。
  5. 若控制項實作 IPostBackDataHandler,先呼叫 LoadPostData 比對新舊值,決定是否引發 RaisePostDataChangedEvent。

關鍵介面

  • IPostBackEventHandler:提供 RaisePostBackEvent(string eventArgument),供按鈕等觸發伺服器事件。
  • IPostBackDataHandler:提供 LoadPostData(比對資料)與 RaisePostDataChangedEvent(資料變更通知),供 TextBox、DropDownList 等輸入控制項使用。

文章並說明為何一般 HTML <input type="submit"> 無法觸發伺服器事件:因未註冊 __EVENTTARGET 且未實作介面。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved