自訂控件若需接收用戶端回傳的數據(如表單提交),必須實作 IPostBackDataHandler 介面。此介面要求實現兩個核心方法:
bool LoadPostData(string postDataKey, NameValueCollection postCollection)
UniqueID,對應客戶端 name 屬性。postCollection[postDataKey] 取得客戶端提交值,與控件當前值比較,若不同則回傳 true(觸發後續事件),否則 false。name 屬性,否則無法接收回傳數據。void RaisePostDataChangedEvent()
LoadPostData 回傳 true 時被調用。TextChanged),通知頁面數據已變更。IPostBackDataHandler。Render 時輸出 name 屬性(writer.WriteAttribute("name", this.UniqueID))。LoadPostData 中正確比較新舊值,避免不必要的事件觸發。掌握此機制,即可開發出完整支援 ViewState 與回傳事件的高階自訂控件。