一、 为什么使用AJAX
我们很难给AJAX下一个很明了的定义,它并不象.net那样概念清晰。但是,Ajax的优点还是很清晰的,下面我们将介绍Ajax的几个比较有代表性的优势或者说特征。|
1、 基于标准技术构建
XMLHttpRequest 对象最早是作为IE内嵌的ActiveX组件提供的,然后各种其他的主流浏览器(例如Firefox、Safari以及很快就要推出的IE7等)也随之使 用,JavaScript原生对象的形式提供了这一组件。目前W3C正在对XMLHttpRequest的规范进行标准化(http://www.w3.org/ TR/XMLHttp Request/),XMLHttpRequest成为标准已经指日可待。Ajax所用到的其他技术,包括JavaScript、XML、CSS和DOM 等,均早已成为标准并被所有的主流浏览器所实现。这样,典型的Ajax应用程序无需客户端进行任何形式的安装部署,即可兼容地运行于每一个主流浏览器之 上,因而其优势是Flash、Java Applet和ActiveX等需要下载、安装插件的技术所无法比拟的。
2、 友好的与服务器交互
还记得上网提交注册信息给网站吗?用户不得不将大量的时间花费在等待上。即使客户端和服务器的连接状况非常好,网络延迟可以忽略不计,在加载新页面时浏览器中仍然会有一个显示空白页面的过程,也就是一次“闪烁”。这是因为浏览器需要清除原有的内容并重新写入新的内容。
实际上,用户的一次操作往往仅需要对现有页面的一小部分进行更改。例如,在某一篇文章后添加一条评论。对于用户添加评论之前和之后的两个页面,它们之间的 差别仅仅是一条新的评论而已。页面的其他大多数部分,比如页首、页脚、导航栏、文章内容以及现有的评论等都是完全一样的!完全一样的这些内容没有合理地保 存下来,而是随着后一个页面的到来被无情地完全抛弃了。
Ajax应用程序则是借助XMLHttpRequest对象的帮助,只从服务器端取得必要的表示这一条评论的数据,而不是新页面的所有内容,避免了在网络中传输不变内容所造成的浪费,也就自然减少了用户等待的时间。
浏览器得到数据之后,再用JavaScript为这条评论添加必要的布局和格式化信息,并添加到页面上。这个添加过程只需要修改页面的一小部分,也解决了整页重绘带来的页面闪烁问题。同时,在Ajax应用程序等待服务器端返回数据时,开发者可以随心所欲地提供各式各样的指示信息,例如一段“加载中……”的文字,或是一些生动的GIF图片等,让用户不再总是面对单调的浏览器进度条。若在服务器的通信中出现了某些异常,客户端JavaScript同样能够捕获这个异常,并可以选用多种多样的方法来告知用户,而不是传统Web应用程序中的一个让用户摸不着头脑的“500服务器内部错误”页面。
3、 增强用户的体验
1、 基于标准技术构建
XMLHttpRequest 对象最早是作为IE内嵌的ActiveX组件提供的,然后各种其他的主流浏览器(例如Firefox、Safari以及很快就要推出的IE7等)也随之使 用,JavaScript原生对象的形式提供了这一组件。目前W3C正在对XMLHttpRequest的规范进行标准化(http://www.w3.org/ TR/XMLHttp Request/),XMLHttpRequest成为标准已经指日可待。Ajax所用到的其他技术,包括JavaScript、XML、CSS和DOM 等,均早已成为标准并被所有的主流浏览器所实现。这样,典型的Ajax应用程序无需客户端进行任何形式的安装部署,即可兼容地运行于每一个主流浏览器之 上,因而其优势是Flash、Java Applet和ActiveX等需要下载、安装插件的技术所无法比拟的。
2、 友好的与服务器交互
还记得上网提交注册信息给网站吗?用户不得不将大量的时间花费在等待上。即使客户端和服务器的连接状况非常好,网络延迟可以忽略不计,在加载新页面时浏览器中仍然会有一个显示空白页面的过程,也就是一次“闪烁”。这是因为浏览器需要清除原有的内容并重新写入新的内容。
实际上,用户的一次操作往往仅需要对现有页面的一小部分进行更改。例如,在某一篇文章后添加一条评论。对于用户添加评论之前和之后的两个页面,它们之间的 差别仅仅是一条新的评论而已。页面的其他大多数部分,比如页首、页脚、导航栏、文章内容以及现有的评论等都是完全一样的!完全一样的这些内容没有合理地保 存下来,而是随着后一个页面的到来被无情地完全抛弃了。
Ajax应用程序则是借助XMLHttpRequest对象的帮助,只从服务器端取得必要的表示这一条评论的数据,而不是新页面的所有内容,避免了在网络中传输不变内容所造成的浪费,也就自然减少了用户等待的时间。
浏览器得到数据之后,再用JavaScript为这条评论添加必要的布局和格式化信息,并添加到页面上。这个添加过程只需要修改页面的一小部分,也解决了整页重绘带来的页面闪烁问题。同时,在Ajax应用程序等待服务器端返回数据时,开发者可以随心所欲地提供各式各样的指示信息,例如一段“加载中……”的文字,或是一些生动的GIF图片等,让用户不再总是面对单调的浏览器进度条。若在服务器的通信中出现了某些异常,客户端JavaScript同样能够捕获这个异常,并可以选用多种多样的方法来告知用户,而不是传统Web应用程序中的一个让用户摸不着头脑的“500服务器内部错误”页面。
3、 增强用户的体验
Ajax应用程序通常很重视用户体验,它们一般都会关注目前用户的操作,并及时地给出下一步的提示。即使是一个很小的动作,客户端都可以将其回送至服务器,然后服务器即可充分利用它掌握的大量信息以及强大的计算能力迅速向用户给出最恰当的提示。例如,某个系统中用户的所在地信息可以由省份和城市两部分组成。在Web页面上通常使用两个下拉列表让用户选择。当用户选择了省份后,Ajax应用程序就可以通过XMLHttpRequest对象取得该省内所有城市的列表,并填充到城市列表中供用户作出下一步选择。
4、 能够建立更强大的 UI
Ajax 将许多不同的技术结合在了一起,而它们之间的协调者就是运行于浏览器中的JavaScript。在Ajax中,JavaScript已经不再是往日那个无 关紧要的、用来在页面上显示漂浮广告或修改浏览器状态栏之类。通过充分挖掘JavaScript的潜力,我们将能够把许多原本只有桌面应用程序才能够实现 的丰富功能(例如鼠标拖动、右键菜单、自动完成、拼写检查、键盘快捷键等)搬到Web页面中,这些都不是问题!Windows Live Mail就是其中的典范之作,其提供的完善功能直逼Office Outlook,甚至让用户无法感受到这是一个基于Web的应用程序。
Ajax之所以能够实现如此强大的功能,就是因为开发者广泛使用了现有的各种成熟技术,充分挖掘出了它们的潜力,并把它们有机地组合到一起。
二、 ASP.NET AJAX 简介1、 ASP.NET AJAX组成
ASP.NET AJAX可以相应地分为服务器端和客户端两个部分,前者包含ASP.NET 2.0
AJAX Extensions以及ASP.NET AJAX Control Toolkit,后者包含Microsoft AJAX
Library。ASP.NET AJAX Control Toolkit是由开发爱好者支持,Microsoft并不提供对它的支持,读者可以参考http://www.codeplex.com。具体的组成可以参考,下图1:
ASP.NET 2.0 AJAX Extensions包括后面将主要讲到几个的控件:ScriptManager控件、ScriptManagerProxy控件、UpdatePanel控件、UpdateProgress控件、Timer控件。
2、 ASP.NET AJAX 安装
若要安装并使用ASP.NET AJAX框架的全部功能进行开发,那么你的操作系统必须是Windows 2000、Windows XP、Windows Server 2003(建议使用)或Windows Vista,并应该安装好如下软件:
(1) Microsoft .NET Framework Version 2.0或以上;
(2) 至少一种流行的浏览器:IE 5.01(推荐使用IE 6.0)或FireFox 1.5;
(3) Visual Studio 2005(各种版本均可)或者Visual Web Developer Express Edition;
当然,作为使用ASP.NET AJAX程序的客户端,即程序的用户,并不需要任何的附加安装,只要一种流行的浏览器即可。
用户可以到http://ajax.asp.net/downloads/default.aspx?tabid=47 下载ASP.NET AJAX的所有部件,包括一些使用例程。

浙公网安备 33010602011771号