数据回传
数据回传其实就是把web表单提交给服务端,asp.net运行时会将表单封装成一个NameValueCollection,name就是表单域的name属性,所以要实现回传就要为控件提供name属性,而value就是表单域的值。页面处理到processpostdata过程中,遍历所有子控件,如果子控件实现IIPostBackDataHandler接口,页面就会把该控件对应的名称和整个NameValueCollection做为参数,调用控件的LoadPostData()方法。因此所有实现了IPostBackDataHandler接口的控件都会获得回传表单的数据的机会。
在进一步的说,可以在LoadPostBack()方法判断回传的值与控件的值是否相等,不过不等,可以让LoadPostData()方法返回true值,此时页面会记下该控件数据发生了变化,在所有控件都加载完回传数据后,页面将在RaiseChangedEvent过程调用LoadPostData()方法返回true的控件的RaisePostDataChangedEvent()方法。在RaisePostDataChangedEvent()方法里,我们可以根据需要触发相应的控件事件.
IPostBackDataHandler接口需要实现的两个方法:
LoadPostData():处理页面教过来的页面数据
RaisePostDataChangedEvent():如果LoadPostData()方法返回true,则此方法将被调用。此方法通常用来触发控件的事件
posted on 2008-03-26 21:06  Jack.Wang  阅读(2209)  评论(0编辑  收藏  举报