可是,我们在实现自己的控件时,虽然继承了 IPostBackDataHandler,但是在提交数据的时候确发现程序没有去调用 IPostBackDataHandler 中的方法。经过研究发现,若要实现数据回发,除了需要实现IPostBackDataHandler接口外,还需要将控件注册成需要回发数的控件。要实现注册,就是在自定义控件里重写OnPreRender方法,并在该方法中调用Page.RegisterRequiresPostBack(this);这句代码。写法如下:
实现代码如下:
public class MyControl : WebControl, IPostBackDataHandler{
protected override void OnPreRender(EventArgs e)
{
Page.RegisterRequiresPostBack(this);
base.OnPreRender(e);
}
}
通过实现以上代码,当在提交数据时,就会发现IPostBackDataHandler接口的方法,就被调用了。接下来,怎么做,你懂的啊。
以上就是【asp.net自定义控件回发数据实现方案与代码】的全部内容了,欢迎留言评论进行交流!