asp.net自定義控件回發(fā)數(shù)據(jù)實現(xiàn)方案與代碼
更新時間:2012年12月20日 17:29:10 作者:
在實現(xiàn)asp.net的自定義控件中,若要實現(xiàn)數(shù)據(jù)的回發(fā)或者post數(shù)據(jù),那自義控件必須實現(xiàn)IPostBackDataHandler接口, 在該接口中有兩個方法一個是LoadPostData,另一個是RaisePostDataChangedEvent,需要的朋友可以了解下
在實現(xiàn)asp.net的自定義控件中,若要實現(xiàn)數(shù)據(jù)的回發(fā)或者post數(shù)據(jù),那自義控件必須實現(xiàn)IPostBackDataHandler接口, 在該接口中有兩個方法一個是LoadPostData,另一個是RaisePostDataChangedEvent。第一個方法用于在回發(fā)數(shù)據(jù)時,填充自定義控件的相關屬性,第二個方法用于激發(fā)控件相關的事件。也就是說這兩個方法,應該是在提交數(shù)據(jù)的時候進行調用的。
可是,我們在實現(xiàn)自己的控件時,雖然繼承了 IPostBackDataHandler,但是在提交數(shù)據(jù)的時候確發(fā)現(xiàn)程序沒有去調用 IPostBackDataHandler 中的方法。經(jīng)過研究發(fā)現(xiàn),若要實現(xiàn)數(shù)據(jù)回發(fā),除了需要實現(xiàn)IPostBackDataHandler接口外,還需要將控件注冊成需要回發(fā)數(shù)的控件。要實現(xiàn)注冊,就是在自定義控件里重寫OnPreRender方法,并在該方法中調用Page.RegisterRequiresPostBack(this);這句代碼。寫法如下:
public class MyControl : WebControl, IPostBackDataHandler{
protected override void OnPreRender(EventArgs e)
{
Page.RegisterRequiresPostBack(this);
base.OnPreRender(e);
}
}
通過實現(xiàn)以上代碼,當在提交數(shù)據(jù)時,就會發(fā)現(xiàn)IPostBackDataHandler接口的方法,就被調用了。接下來,怎么做,你懂的啊。
可是,我們在實現(xiàn)自己的控件時,雖然繼承了 IPostBackDataHandler,但是在提交數(shù)據(jù)的時候確發(fā)現(xiàn)程序沒有去調用 IPostBackDataHandler 中的方法。經(jīng)過研究發(fā)現(xiàn),若要實現(xiàn)數(shù)據(jù)回發(fā),除了需要實現(xiàn)IPostBackDataHandler接口外,還需要將控件注冊成需要回發(fā)數(shù)的控件。要實現(xiàn)注冊,就是在自定義控件里重寫OnPreRender方法,并在該方法中調用Page.RegisterRequiresPostBack(this);這句代碼。寫法如下:
復制代碼 代碼如下:
public class MyControl : WebControl, IPostBackDataHandler{
protected override void OnPreRender(EventArgs e)
{
Page.RegisterRequiresPostBack(this);
base.OnPreRender(e);
}
}
通過實現(xiàn)以上代碼,當在提交數(shù)據(jù)時,就會發(fā)現(xiàn)IPostBackDataHandler接口的方法,就被調用了。接下來,怎么做,你懂的啊。
相關文章
asp.net實現(xiàn)的MD5加密和DES加解密算法類完整示例
這篇文章主要介紹了asp.net實現(xiàn)的MD5加密和DES加解密算法類,結合完整實例形式分析了asp.net實現(xiàn)MD5加密算法及DES加密和解密的相關技巧,需要的朋友可以參考下2016-07-07asp.net使用FCK編輯器中的分頁符實現(xiàn)長文章分頁功能
這篇文章主要介紹了asp.net使用FCK編輯器中的分頁符實現(xiàn)長文章分頁功能,涉及asp.net字符串及分頁操作的相關技巧,需要的朋友可以參考下2016-06-06