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)的事件。也就是說(shuō)這兩個(gè)方法,應(yīng)該是在提交數(shù)據(jù)的時(shí)候進(jìn)行調(diào)用的。
可是,我們?cè)趯?shí)現(xiàn)自己的控件時(shí),雖然繼承了 IPostBackDataHandler,但是在提交數(shù)據(jù)的時(shí)候確發(fā)現(xiàn)程序沒(méi)有去調(diào)用 IPostBackDataHandler 中的方法。經(jīng)過(guò)研究發(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);
}
}
通過(guò)實(shí)現(xiàn)以上代碼,當(dāng)在提交數(shù)據(jù)時(shí),就會(huì)發(fā)現(xiàn)IPostBackDataHandler接口的方法,就被調(diào)用了。接下來(lái),怎么做,你懂的啊。
可是,我們?cè)趯?shí)現(xiàn)自己的控件時(shí),雖然繼承了 IPostBackDataHandler,但是在提交數(shù)據(jù)的時(shí)候確發(fā)現(xiàn)程序沒(méi)有去調(diào)用 IPostBackDataHandler 中的方法。經(jīng)過(guò)研究發(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);
}
}
通過(guò)實(shí)現(xiàn)以上代碼,當(dāng)在提交數(shù)據(jù)時(shí),就會(huì)發(fā)現(xiàn)IPostBackDataHandler接口的方法,就被調(diào)用了。接下來(lái),怎么做,你懂的啊。
您可能感興趣的文章:
- asp.net自定義控件代碼學(xué)習(xí)筆記
- asp.net 自定義控件實(shí)現(xiàn)無(wú)刷新上傳圖片,立即顯示縮略圖,保存圖片縮略圖
- 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問(wèn)題解決方案
- 淺談ASP.NET中最簡(jiǎn)單的自定義控件
- asp.net動(dòng)態(tài)加載自定義控件的方法
- Asp.net自定義控件之加載層
相關(guān)文章
DataGrid同時(shí)具有分頁(yè)和排序功能及注意點(diǎn)
DataGrid同時(shí)具有分頁(yè)和排序功能及注意點(diǎn)...2006-09-09
Asp.net在ashx文件中處理Session問(wèn)題解決方法
Asp.net在ashx文件中處理Session問(wèn)題解決方法,需要的朋友可以參考一下2013-05-05
詳解高效而穩(wěn)定的企業(yè)級(jí).NET Office 組件Spire(.NET組件介紹之二)
這篇文章主要介紹了詳解高效而穩(wěn)定的企業(yè)級(jí).NET Office 組件Spire(.NET組件介紹之二),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。2016-12-12
ASP.NET Core3.1 Ocelot路由的實(shí)現(xiàn)
這篇文章主要介紹了ASP.NET Core3.1 Ocelot路由的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
.net下實(shí)現(xiàn)Word動(dòng)態(tài)填加數(shù)據(jù)打印
.net下實(shí)現(xiàn)Word動(dòng)態(tài)填加數(shù)據(jù)打印...2007-04-04
.NET?ORM框架SqlSugar實(shí)現(xiàn)導(dǎo)航查詢功能
今天這篇文章分享一款好用簡(jiǎn)單的ORM框架?SqlSugar,相比?EF?Core的導(dǎo)航查詢更加簡(jiǎn)單,配置更加容易,幾分鐘就能上手,對(duì).NET?ORM框架SqlSugar實(shí)現(xiàn)導(dǎo)航查詢功能感興趣的朋友一起看看吧2022-04-04

