asp.net自定義控件回發(fā)數(shù)據(jù)實(shí)現(xiàn)方案與代碼
更新時(shí)間:2012年12月20日 17:29:10 作者:
在實(shí)現(xiàn)asp.net的自定義控件中,若要實(shí)現(xiàn)數(shù)據(jù)的回發(fā)或者post數(shù)據(jù),那自義控件必須實(shí)現(xiàn)IPostBackDataHandler接口, 在該接口中有兩個(gè)方法一個(gè)是LoadPostData,另一個(gè)是RaisePostDataChangedEvent,需要的朋友可以了解下
在實(shí)現(xiàn)asp.net的自定義控件中,若要實(shí)現(xiàn)數(shù)據(jù)的回發(fā)或者post數(shù)據(jù),那自義控件必須實(shí)現(xiàn)IPostBackDataHandler接口, 在該接口中有兩個(gè)方法一個(gè)是LoadPostData,另一個(gè)是RaisePostDataChangedEvent。第一個(gè)方法用于在回發(fā)數(shù)據(jù)時(shí),填充自定義控件的相關(guān)屬性,第二個(gè)方法用于激發(fā)控件相關(guān)的事件。也就是說這兩個(gè)方法,應(yīng)該是在提交數(shù)據(jù)的時(shí)候進(jìn)行調(diào)用的。
可是,我們?cè)趯?shí)現(xiàn)自己的控件時(shí),雖然繼承了 IPostBackDataHandler,但是在提交數(shù)據(jù)的時(shí)候確發(fā)現(xiàn)程序沒有去調(diào)用 IPostBackDataHandler 中的方法。經(jīng)過研究發(fā)現(xiàn),若要實(shí)現(xiàn)數(shù)據(jù)回發(fā),除了需要實(shí)現(xiàn)IPostBackDataHandler接口外,還需要將控件注冊(cè)成需要回發(fā)數(shù)的控件。要實(shí)現(xiàn)注冊(cè),就是在自定義控件里重寫OnPreRender方法,并在該方法中調(diào)用Page.RegisterRequiresPostBack(this);這句代碼。寫法如下:
public class MyControl : WebControl, IPostBackDataHandler{
protected override void OnPreRender(EventArgs e)
{
Page.RegisterRequiresPostBack(this);
base.OnPreRender(e);
}
}
通過實(shí)現(xiàn)以上代碼,當(dāng)在提交數(shù)據(jù)時(shí),就會(huì)發(fā)現(xiàn)IPostBackDataHandler接口的方法,就被調(diào)用了。接下來,怎么做,你懂的啊。
可是,我們?cè)趯?shí)現(xiàn)自己的控件時(shí),雖然繼承了 IPostBackDataHandler,但是在提交數(shù)據(jù)的時(shí)候確發(fā)現(xiàn)程序沒有去調(diào)用 IPostBackDataHandler 中的方法。經(jīng)過研究發(fā)現(xiàn),若要實(shí)現(xiàn)數(shù)據(jù)回發(fā),除了需要實(shí)現(xiàn)IPostBackDataHandler接口外,還需要將控件注冊(cè)成需要回發(fā)數(shù)的控件。要實(shí)現(xiàn)注冊(cè),就是在自定義控件里重寫OnPreRender方法,并在該方法中調(diào)用Page.RegisterRequiresPostBack(this);這句代碼。寫法如下:
復(fù)制代碼 代碼如下:
public class MyControl : WebControl, IPostBackDataHandler{
protected override void OnPreRender(EventArgs e)
{
Page.RegisterRequiresPostBack(this);
base.OnPreRender(e);
}
}
通過實(shí)現(xiàn)以上代碼,當(dāng)在提交數(shù)據(jù)時(shí),就會(huì)發(fā)現(xiàn)IPostBackDataHandler接口的方法,就被調(diào)用了。接下來,怎么做,你懂的啊。
您可能感興趣的文章:
- asp.net自定義控件代碼學(xué)習(xí)筆記
- asp.net 自定義控件實(shí)現(xiàn)無刷新上傳圖片,立即顯示縮略圖,保存圖片縮略圖
- Asp.net 動(dòng)態(tài)加載用戶自定義控件,并轉(zhuǎn)換成HTML代碼
- asp.net DropDownList自定義控件,讓你的分類更清晰
- asp.net中使用自定義控件的方式實(shí)現(xiàn)一個(gè)分頁(yè)控件的代碼
- Asp.net清空控件值的方法(可自定義控件類型)
- asp.net自定義控件中注冊(cè)Javascript問題解決方案
- 淺談ASP.NET中最簡(jiǎn)單的自定義控件
- asp.net動(dòng)態(tài)加載自定義控件的方法
- Asp.net自定義控件之加載層
相關(guān)文章
asp.net發(fā)送郵件實(shí)現(xiàn)方法
這篇文章主要介紹了asp.net發(fā)送郵件實(shí)現(xiàn)方法,以一個(gè)具體實(shí)例的形式詳細(xì)講述了asp.net發(fā)送郵件的技巧,需要的朋友可以參考下2014-10-10asp.net實(shí)現(xiàn)的MD5加密和DES加解密算法類完整示例
這篇文章主要介紹了asp.net實(shí)現(xiàn)的MD5加密和DES加解密算法類,結(jié)合完整實(shí)例形式分析了asp.net實(shí)現(xiàn)MD5加密算法及DES加密和解密的相關(guān)技巧,需要的朋友可以參考下2016-07-07ASP.NET使用gridview獲取當(dāng)前行的索引值
這篇文章主要介紹了ASP.NET使用gridview獲取當(dāng)前行的索引值的方法匯總,有需要的小伙伴可以參考下。2015-06-06asp.net使用FCK編輯器中的分頁(yè)符實(shí)現(xiàn)長(zhǎng)文章分頁(yè)功能
這篇文章主要介紹了asp.net使用FCK編輯器中的分頁(yè)符實(shí)現(xiàn)長(zhǎng)文章分頁(yè)功能,涉及asp.net字符串及分頁(yè)操作的相關(guān)技巧,需要的朋友可以參考下2016-06-06.Net Core 2.2升級(jí)3.1的避坑指南(小結(jié))
這篇文章主要介紹了.Net Core 2.2升級(jí)3.1的避坑指南,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07NLog路由規(guī)則和上下文信息知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給各位整理的是關(guān)于NLog路由規(guī)則和上下文信息的相關(guān)文章,有需要的朋友們學(xué)習(xí)下。2019-10-10