日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.NET自定义服务器控件内部细节系列教程五

發布時間:2025/7/25 asp.net 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.NET自定义服务器控件内部细节系列教程五 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如大家要轉載,請保留本人的版權:
/*
*Description:asp.NET自定義服務器控件內部細節系列教程
*Auther:崇崇-天真的好藍
*MSN:chongchong2008@msn.com
*Dates:2007-05-20
*Copyright:ChongChong2008 YiChang HuBei China
*/
五 服務器控件的回傳架構

?? 參與回傳架構主要有兩個重要的接口IPostBackEventHandler和IPostBackDataHandler接口
?? IPostBackEventHandler接口使控件引發一個標志著已經發生回傳的事件。
?? IPostBackDataHandler接口使控件檢索已被傳送的表單數據,從而相應的更新狀態,然后在服務器端引發事件以標志其狀態變化。

?? 1。IPostBackEventHandler
????? 1.1 把回傳事件映射到服務器端事件
????????? public interface IPostBackEventHandler
????????? {
????? void RaisePostBackEvent(string eventArguments);
????????? }
????????? eventArguments參數是為了如果控件生成了能夠引起回傳事件的多個HTML標簽,那么可以利用這個參數來識別而引發不同的事件。

????? 1.2 生成回傳的客戶端腳本
????????? 如果想利用一個超級鏈接來引起回傳,同樣需要先實現IPostBackEventHandler接口,然后需要利用下面的方法:
????????? Page.GetPostBackClientHyperlink(object ,string);

????????? GetPostBackClientHyperlink主要實現兩個功能:
???????????? 第一:返回一個字符串"javascript:__doPostBack('youControlUniqueID','')",該字符串包括一個由頁面框架生成的到__doPostBack javascript函數的調用。
???????????? 第二:告知頁面生成兩個隱藏域(__EVENTTARGET和__EVENTARGUMENT),以及一個引起回傳(____doPostBack)的javascript函數.

??? 2。IPostBackDataHandler
?????? 為了參與數據回傳處理必須實現IPostBackDataHandler接口,它右兩個方法
?????? public interface IPostBackDataHandler
?????? {
????????? bool LoadPostDate(string postDateKey , NameValueCollection postCollection);
????????? void RaisePostDateChangedEvent();
?????? }

?????? 在加載回傳數據階段,頁面查看名/值表單傳送集中的每一個名字,并且尋找控件樹中與名字匹配的UniqueID控件。如果頁面找到這樣一個控件,并且這個控件實現IPostBackDataHandler,則頁面在這個控件上調用LoadPostData.

?????? LoadPostData方法有兩個參數,一個包含回傳元素名稱的字符串和一個包含傳送表單數據的名/值集的System.Collections.Specialized.NameValueCollection實例。控件可以用回傳數據來更新它的狀態。
?????? 如果控件狀態在回傳時改變,而且希望引發事件來標記此變化,那么必須從LoadPostData方法中返回True值。
?????? 當控件的LoadPostData方法返回True時,頁面會調用此控件的RaisePostDateChangedEvent方法。

轉載于:https://www.cnblogs.com/amboyna/articles/884748.html

總結

以上是生活随笔為你收集整理的asp.NET自定义服务器控件内部细节系列教程五的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。