客户端无刷新调用服务器程序2012-01-10 51cto博客 王杰瑞谈起客户端无刷新远程调用,其好处无需多言。其实现方式除了早些年流行的iframe异步加载外,现在更多的是用基于JavaScript+xmlhttprequest对象技术,比如如日中天的Ajax。而在这里我们介绍的是ASP.NET本身对客户端远程调用的支持--客户端回调(念diao),当然了,它的本质也是XMLhttprequest。类似的帖子在网上已经被翻烂了,如果嫌这里说的不过瘾,可以自己动手看看高手们怎么说。创建实现客户端回调的 ASP.NET 页必须执行以下操作:·实现 ICallbackEventHandler 接口。可以向任何 ASP.NET 网页添加此接口声明。·实现 RaiseCallbackEvent 接口的方法。此方法将由回调来调用,执行一些逻辑处理。·实现 GetCallbackResult接口的方法。此方法将向clientCallBack 函数返回一个字符串注意:实现接口的方法必须为public,否则不能被远程调用。此外,该页还必须包含执行以下操作的三个客户端脚本函数:·一个函数调用帮助器方法,该方法执行对服务器的实际请求。在此函数中,可以首先执行自定义逻辑以准备事件参数,然后可以将一个字符串作为参数发送到服务器端回调事件处理程序。·另一个函数由处理回调事件的服务器代码的结果调用并接收该结果,同时接受表示该结果的字符串。该函数就是上面所说的 clientCallBack 函数。·第三个函数是执行对服务器的实际请求的 Helper 函数,当在服务器代码中使用 GetCallbackEventReference 方法生成对此函数的引用时,由 ASP.NET 自动生成该函数。我这里做了一个最简单的例子,只有一个WebForm,界面如下:

实现,在文本框里输入文本,点击“服务器回显”按钮后,回显结果显示文本框的输入。