ASP.NET 2.0当中的Call back技术与ASP.NET AJAX

翻译|其它|编辑:郝浩|2007-12-11 10:33:06.000|阅读 714 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

      前面介绍过了几个 ASP.NET 当中的 AJAX 机制之后,不知道读者是否偶而也有一些 confuse,原因是有太多种方法可以在.aspx 网页上进行 AJAX 动作了,目前最常见的几种方式是:
1) 传统的 HTTP request(要自己写一些 JavaScript code)
2) asp.net 2.0当中的 Call Back 技术(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 技术是最理想的选择...

      而 Extender Control 呢?它不是也能来编写控件吗?呵呵,没错,不过这又是另一个层面的问题了,也许下次有机会时后再跟大家报告一下这中间的差异...


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:CSDN

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP