本文共 774 字,大约阅读时间需要 2 分钟。
浏览器端传递数据到服务器的时候,服务器检查时候有_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','记账') 转载于:https://www.cnblogs.com/joe_liu/archive/2011/08/22/2149414.html