论文部分内容阅读
简介
在Ajax技术出现之前,Web应用与普通的Windows应用有很大的不同。比如,任何一个与服务器端的交互都需要页面整体的刷新,根据客户端提交的内容,在服务器端进行一系列的计算,然后再发送回浏览器端,将最终结果呈现出来。这一繁琐的过程,大大延长了用户的等待时间,Ajax的出现使得Web应用的用户体验得到了极大的改善,让Web应用也可以具有类似于Windows应用的轻松体验。
一、问题及背景
在Ajax技术出现之前,每当与服务器端进行交互操作时,都需要页面整体的刷新,每进行一次操作都需要等待服务器的响应,直接影响工作效率。而Ajax技术正是针对这一问题,采用一种以异步的方式让客户端连接到服务器,并且只将需要发服务器端验证的信息传给服务器,界面只进行局部更新。
在广义上我们可以将Ajax定义为:基于标准Web技术创建的、能够以更少的响应时间带来更加丰富的用户体验的一类Web应用程序所使用的技术的集合。
二、ASP.NET AJAX的特性
ASP.NET AJAX主要的设计目标有两点:第一,对现有的ASP.NET服务器端模型进行扩展,让其可以生成实现富客户端的JavaScript代码;第二,为ASP.NET增加客户端编程模型,让纯粹的客户端编程变得更加简单。
这样,ASP.NET AJAX的特性就可以相应地分为服务器端和客户端两个部分,前者包含ASP.NET 2.0 AJAX Extensions以及ASP.NET AJAX Control Toolkit,后者包含Microsoft AJAX Library。
1、服务器端特性
(1)开发者无需了解JavaScript,只需使用熟悉的类似ASP.NET开发的方式声明服务器端控件,之后Ajax所需的客户端脚本将自动发送至浏览器并执行。
(2)对客户端异步调用服务器端方法,ASP.NET AJAX提供服务器端/客户端数据类型的自动转换、自动将服务器端页面方法或Web Service方法暴露给客户端、为远程Web Service生成本地客户端代理等功能。
(3)将ASP.NET内建的许多高级功能,(例如身份认证、用户个性化服务、本地化(全球化)支持等)暴露给客户端。
(4)和Visual Studio开发环境无缝集成,提供完善的自动完成、编译期检查以及调试等功能。
2、客户端特性
(1)对JavaScript进行扩展,使其支持完全面向对象方式编程,让开发者感觉到如同使用熟悉的Java或C#语言进行编程一样。
(2)提供跨浏览器的兼容性支持。开发者无需考虑不同浏览器之间的JavaScript或DOM的差异,只需要同一份代码即可在各种主流的浏览器中良好运行。
(3)大量的内建客户端组件,让开发者不必对所有需求都从头做起,一遍又一遍地“重复发明轮子”。
(4)借助于强大的绑定功能,ASP.NET AJAX提供了一种新的、基于XML的声明型编程语言,叫做ASP.NET AJAX XML脚本(ASP.NET AJAX XML Script)。它类似但又远强于ASP.NET服务器端控件在页面中的声明方式,特别适合在面向组件编程中使用。
三、ASP.NET AJAX 常用控件简介
1、ScriptManager控件
它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一个ScriptManager控件。在ScriptManager控件中我们可以指定需要的脚本库,或者指定通过JS来调用的Web Service,还可以指定页面错误处理等。
注意,很多ASP.NET AJAX服务器端控件均要求在源代码中定义的ScriptManager控件位于它们的前面,所以最保险的方法是在
在Ajax技术出现之前,Web应用与普通的Windows应用有很大的不同。比如,任何一个与服务器端的交互都需要页面整体的刷新,根据客户端提交的内容,在服务器端进行一系列的计算,然后再发送回浏览器端,将最终结果呈现出来。这一繁琐的过程,大大延长了用户的等待时间,Ajax的出现使得Web应用的用户体验得到了极大的改善,让Web应用也可以具有类似于Windows应用的轻松体验。
一、问题及背景
在Ajax技术出现之前,每当与服务器端进行交互操作时,都需要页面整体的刷新,每进行一次操作都需要等待服务器的响应,直接影响工作效率。而Ajax技术正是针对这一问题,采用一种以异步的方式让客户端连接到服务器,并且只将需要发服务器端验证的信息传给服务器,界面只进行局部更新。
在广义上我们可以将Ajax定义为:基于标准Web技术创建的、能够以更少的响应时间带来更加丰富的用户体验的一类Web应用程序所使用的技术的集合。
二、ASP.NET AJAX的特性
ASP.NET AJAX主要的设计目标有两点:第一,对现有的ASP.NET服务器端模型进行扩展,让其可以生成实现富客户端的JavaScript代码;第二,为ASP.NET增加客户端编程模型,让纯粹的客户端编程变得更加简单。
这样,ASP.NET AJAX的特性就可以相应地分为服务器端和客户端两个部分,前者包含ASP.NET 2.0 AJAX Extensions以及ASP.NET AJAX Control Toolkit,后者包含Microsoft AJAX Library。
1、服务器端特性
(1)开发者无需了解JavaScript,只需使用熟悉的类似ASP.NET开发的方式声明服务器端控件,之后Ajax所需的客户端脚本将自动发送至浏览器并执行。
(2)对客户端异步调用服务器端方法,ASP.NET AJAX提供服务器端/客户端数据类型的自动转换、自动将服务器端页面方法或Web Service方法暴露给客户端、为远程Web Service生成本地客户端代理等功能。
(3)将ASP.NET内建的许多高级功能,(例如身份认证、用户个性化服务、本地化(全球化)支持等)暴露给客户端。
(4)和Visual Studio开发环境无缝集成,提供完善的自动完成、编译期检查以及调试等功能。
2、客户端特性
(1)对JavaScript进行扩展,使其支持完全面向对象方式编程,让开发者感觉到如同使用熟悉的Java或C#语言进行编程一样。
(2)提供跨浏览器的兼容性支持。开发者无需考虑不同浏览器之间的JavaScript或DOM的差异,只需要同一份代码即可在各种主流的浏览器中良好运行。
(3)大量的内建客户端组件,让开发者不必对所有需求都从头做起,一遍又一遍地“重复发明轮子”。
(4)借助于强大的绑定功能,ASP.NET AJAX提供了一种新的、基于XML的声明型编程语言,叫做ASP.NET AJAX XML脚本(ASP.NET AJAX XML Script)。它类似但又远强于ASP.NET服务器端控件在页面中的声明方式,特别适合在面向组件编程中使用。
三、ASP.NET AJAX 常用控件简介
1、ScriptManager控件
它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一个ScriptManager控件。在ScriptManager控件中我们可以指定需要的脚本库,或者指定通过JS来调用的Web Service,还可以指定页面错误处理等。
注意,很多ASP.NET AJAX服务器端控件均要求在源代码中定义的ScriptManager控件位于它们的前面,所以最保险的方法是在