导航

Asp.net callback回调

Posted on 2009-08-10 17:10  寒宵飞飞  阅读(405)  评论(0编辑  收藏  举报
Asp.net通过callback来实现页面的局部刷新,提高页面的访问效率,具体方式参考示例:
本例实现客户端请求服务器端时间功能,新建一个Asp.net网站,在页面上添加一个HTML Button
页面page的C#代码: 
Code
页面部分代码
Code
代码说明:
页面的js函数一共有三个,getServerTime(),processMyResult(returnmessage, context),postMyError(returnmessage, context),其中getServerTime()处理Button的单击事件,processMyResult处理从服务器端传来的指令,实现局部刷新,postMyError处理callback中的错误事件。
页面后台代码中的
 sCallBackFunctionInvocation = Page.ClientScript.GetCallbackEventReference(this,
      "message", "processMyResult", "context", "postMyError", true);
 -“this”表示执行回调的的服务端控件是当前这个Page,当前的Page必须实现ICallbackEventHandler接口,包括必须实现string GetCallbackResult()和void RaiseCallbackEvent(eventArgument)这两个接口函数,这个参数也可以是指向某个WEB控件的引用,当然,这个控件也必须实现ICallbackEventHandler接口;
- "message"是将被传给RaiseCallbackEvent的参数eventArgument的值,可以使人以自定义格式的字符串;
- "processMyResult"是当回调成功之后,处理返回内容的客户端脚本函数的名称,这个函数必须存在于执行回调的页面;
- context“一般可用来传递需要在客户端的返回数据处理函数中用来调用的脚本代码,不过实际上,你传什么都可以,把它看成一种从客户端回调的的激发端,到处理返回数据的接收段之间的参数传递通道就行了。
-"postMyError" 出现错误时的处理函数
-true 是否采用异步方式