AJAX与callback的区别

来源:互联网 发布:linux mint 字体 编辑:程序博客网 时间:2024/06/05 03:28

Ajax可以在客户端回调服务器方法,callback也可以,Ajaxcallback的区别在于以下两点:
一。callback只能返回string类型,而ajax可以返回其它类型,如dataset,还可以是你自己定义的类型。
二。ajax的逻辑要比callbcak简单一些,
callback
分为下面几步:
1)
在服务器端注册客户端脚本
   string callbackRef = Page.ClientScript.GetCallbackEventReference(this, "param", "handleResultFromServer", "context");
//handleResultFromServer
是服务器处理完后返回参数到的那个客户端函数的函数名
    string callbackScript = "function CallTheServer(param, context)" + "{ " + callbackRef + "} ;";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CallTheServer", callbackScript, true);
2)
客户端调用上面的函数CallTheServer传递参数到服务器端
3)
在服务器接收参数并处理
4)
服务器端返回string类型参数给客户端
5)
客户端接收参数并处理
ajax
分下面几步:
1)
在服务器端注册客户端脚本
   Ajax.Utility.RegisterTypeForAjax(typeof(PAGECLASS));//PAGECLASS
是页面的类名

或者也可以直接在客户端手工加上脚本:
<script language="javascript" src="ajax/common.ashx"></script>
<script language="javascript" src="ajax/NAMESPACE.PAGECLASS,ASSEMBLYNAME.ashx"></script>
2)
客户端直接调用服务器端方法(但比该方法多一个参数,就是服务器处理完后返回参数到的那个客户端函数的函数名)
3)
服务器端方法返回对象给客户端
4)
客户端接收并处理
尤其是在一个页面要处理几个回调的时候,ajax会更方便一些。