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

ASP.NET 伺服器控制項封裝進階(事件篇 1.1):PostBack 與非同步回呼核心原理

     編輯:關於ASP.NET

本系列開篇建立事件驅動機制的基礎認知,涵蓋四大核心主題:

1. 事件與事件驅動必要性

C# 事件讓物件間解耦:TextBox 宣告 TextChanged 事件,頁面類別註冊處理函式 TextBox1_TextChanged。當文字變更時,TextBox 內部邏輯完成後呼叫委派,頁面得以存取自身其他成員。若無事件,子物件無法反向呼叫父物件方法。

2. PostBack 原理

  • HTTP 無狀態,ASP.NET 引入 ViewState 維持跨請求狀態。
  • 回傳時,伺服器比較表單送來的新值與 ViewState 舊值。
  • 若控制項實作 IPostBackDataHandler,框架自動呼叫 LoadPostData 判斷是否觸發 RaisePostDataChangedEvent。
  • 若實作 IPostBackEventHandler,框架依 __EVENTTARGET 找到控制項呼叫 RaisePostBackEvent。

3. 非同步回呼原理

實作 ICallbackEventHandler,提供 RaiseCallbackEvent(伺服器處理)與 GetCallbackResult(回傳字串給客戶端 JS)。不觸發完整 PostBack 生命週期,適合輕量資料交換(如自動完成、驗證)。

4. 實作路徑預告

  • 事件回傳實作(IPostBackEventHandler)。
  • 資料回傳實作(IPostBackDataHandler)。
  • 非同步回呼實作(ICallbackEventHandler)。

文中附上 TextBox 事件註冊與觸發流程示意,幫助建立完整心智模型。

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