AJAX与callback的区别(续asp.net2.0客户端回调的使用)
先引用《AJAX .Net Wrapper usage guide》里面的一段话:Asynchronous JavaScript and XML (AJAX) has recently become the craze thanks,... In ASP.Net terms, AJAX allows server-side processing to occur without requiring postback, thus enabling clients (browsers) with rich server-side capabilities.
关于Ajax的使用指南可以参照这个网址http://ajax.schwarz-interactive.de/download/quickGuide.txt
Ajax可以在客户端回调服务器方法,callback也可以,Ajax和callback的区别在于以下两点:
一。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会更方便一些。
本人博客的文章大部分来自网络转载,因为时间的关系,没有写明转载出处和作者。所以在些郑重的说明:文章只限交流,版权归作者。谢谢