关于poseback
2011-08-22 15:00 刘朝 阅读(220) 评论(0) 收藏 举报
浏览器端传递数据到服务器的时候,服务器检查时候有_Viewstate是否存在,如果存在,就会在isPostBack中返回true。
IPostBackDataHandler接口定义此控件需要返回(Post回)值,并填回控件。在客户端,例如textbox控件等生成的html会在浏览器以Post方式回发服务器的时候在参数中提交控件的value,aps.net对于实现了此接口的控件,会自动从Post来的http参数中获取控件的value,并且调用此接口的LoadPostData函数通知控件处理(填写到自己的实例中),并且这个函数如果返回true还会在page_load事件结束后触发此控件的RaisePostDataChangedEvent方法,这通常就是控件包装成的 xxxChanged 或者 xxxClicked 事件。程序员直接在这些最终事件上写程序,其实就是由这个机制由asp.net控制的。
IPostBackEventHandler接口则定义除了上面Post上来数据以外的控件“自定义”客户端事件。页面使用 Page.GetPostBackEventReference 等函数输出的脚本命令可以直接被asp.net调用此控件的RaisePostBackEvent方法。例如一个会计凭证控件具有此接口,如果你希望点击一个对象触发它的“记账”功能,就可以这样写代码:
Ctr.Attributes.Add("onclick",Page.GetPostBackEventReference(凭证,"记账"))
它运行时就会在Ctr中输出类似 __doPostBack('ctr0_ctr_1','记账')
IPostBackDataHandler接口定义此控件需要返回(Post回)值,并填回控件。在客户端,例如textbox控件等生成的html会在浏览器以Post方式回发服务器的时候在参数中提交控件的value,aps.net对于实现了此接口的控件,会自动从Post来的http参数中获取控件的value,并且调用此接口的LoadPostData函数通知控件处理(填写到自己的实例中),并且这个函数如果返回true还会在page_load事件结束后触发此控件的RaisePostDataChangedEvent方法,这通常就是控件包装成的 xxxChanged 或者 xxxClicked 事件。程序员直接在这些最终事件上写程序,其实就是由这个机制由asp.net控制的。
IPostBackEventHandler接口则定义除了上面Post上来数据以外的控件“自定义”客户端事件。页面使用 Page.GetPostBackEventReference 等函数输出的脚本命令可以直接被asp.net调用此控件的RaisePostBackEvent方法。例如一个会计凭证控件具有此接口,如果你希望点击一个对象触发它的“记账”功能,就可以这样写代码:
Ctr.Attributes.Add("onclick",Page.GetPostBackEventReference(凭证,"记账"))
它运行时就会在Ctr中输出类似 __doPostBack('ctr0_ctr_1','记账')
浙公网安备 33010602011771号