实名认证用户熊川湘 身份证号码430811198506290914

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会更方便一些。

posted @ 2010-07-25 17:47  浪达短信群发  阅读(319)  评论(0编辑  收藏  举报