首页  ·  知识 ·  
Label
      编辑:  图片来源:网络

ASP.NET2.0 Ajax最常见的几种方式:
1) 传统的HTTP request(要自己写一些javascript code)
2) asp.net 2.0当中的Client Callback技术(ASP.NET 2.0当中原生支持,不需要安装任何套件)
3)安装ASP.NET AJAX套件之后的 异步 Web Services Call
4)安装ASP.NET AJAX套件之后的 异步 Page Method Call
5)安装ASP.NET AJAX套件之后的 UpdatePanel

由于有很多读者问到,同时也不少人有这方面的争论或是疑惑,因此笔者分别针对这几种方式稍做说明。

目前,只要您是ASP.NET的开发人员,我相信你会在2,3,4,5这几种方法当中选一个,而最常用的可能是方法5。因为方法1这种传统的Http Request不仅要编写相当多的javascript,并且很可能您要自己处理浏览器兼容与支持的相关问题,因此一般来说我们不太做这样的用法。

而其中最简单的则是方法5, 采用UpdatePanel,但是, 读者要知道,上述各种AJAX技术当中,最耗费频宽且效率最差的就是UpdatePanel,笔者在研讨会常常碰到读者询问ASP.NET AJAX的效率不好(但是其实只有UpdatePanel的效率不是非常好,而且这还跟使用的方式有关...),因此在这边笔者要再三强调,仅管你看到 UpdatePanel 所谓的“partial postback” "似乎只是" 将一小块区域回传给伺服器端,但是实际测试后你会发现,在进行partial postback时,其实是 "整个页面" 回传给伺服器端(只是没有换页),而虽然reload回来的时候确实是局部的页面,但是如果你加上了Timer一起用,肯定会造成可怕的网路流量...

而方法3的异步Web Services呼叫其实是笔者比较喜欢的方式,不管在执行效率或是原理架构上,都是蛮漂亮的AJAX用法,而方法4的PageMethod则是类似于方法3的一种简易用法,不需要额外建立一个Web Services(.asmx),就可以在页面当直接使用,是比较轻量级的方式,如果您的页面上想要画龙点睛的来一小段AJAX功能,方法4是不错的选择,而方法3则可以让开发人员以正规的方式建立较为庞大的AJAX架构,例如编写一个AJAX版的开发平台,类库...等

而方法2呢?怎么越来越少听到笔者谈起?可能有读者以为ASP.NET AJAX出现之后我们就把它抛在一边了,其实这个观念不是非常的正确,您会发现Call Back技术依旧是目前 "编写支持AJAX功能的Web控件" 最好的方式...

可能笔者提的很少,但是其实是因为台湾现在写控件的人越来越少了,您若深入研究就会发现,ASP.NET 2.0当中的Call Back机制不仅可以用在网页上,也可以用在User Control和Web control,可以让页面(或控件)直接支持AJAX功能,是非常好用且笔者非常喜欢的一种做法,如果你的开发团队当中,需要自行开发控件,而这些控件想要支持AJAX,Call Back技术是最理想的选择...

本文作者:Ivan Song的专栏 来源:http://blog.csdn.net/avon520/archive/2008/10/08/30
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的
收藏至微信