Ajax 允许通过异步回发和动态的客户端Web页面操作,改进Web应用程序的用户界面。术语Ajax由 Jesse James Garrett 提出,是Asynchronous JavaScript and XML的缩写。 注意Ajax 不是一个缩写词,因此它不能写作AJAX.但是在产品名称 ASP.NET AJAX中它是大写,这是Ajax的Microsoft 的实现方式。
涉及的技术,HTML/XHTML CSS、DOM、JavaScript、XML、XmlHttpRequest
与C#不同,JavaScript不是强类型化的,JavaScript代码的调试比较困难。对于Ajax编程,JavaScript是一种技术,因为它允许利用DOM操作,动态修改Web页面。 、
XML是标记数据的一种中性平台方式,对Ajax非常关键,它既是操作数据的方式,也是客户端和服务器之间的通信语言
XmlHttpRequest API :自Internet Explorer 5 以来,浏览器就把XmlHttpRequest API 作为一种在客户端和服务器之间进行异步通信的方式。Microsoft最初把它引入为一种技术,在Outlook Web Access 产品中,以访问通过Internet存储在Exchange服务器中的电子邮件。后来它变成在web 应用程序中进行异步通信的标准方式,是支持Ajax 的 Web 应用程序的一个核心技术。这个API的Microsoft 实现方式XMLHTTP,它利用所谓的XMLHTTP协议来通信。
Ajax 还需要用服务器端代码处理部分页面的回发和完整页面的回发,这包括服务器控件的事件处理程序和Web服务。
注:JSON (JavaScript Objet Notation JavaScript 对象标记)
客户端的JavaScript 库对JavaScript语法提供他许多改进,提供了许多代码,来简化Ajax功能的实现。 这些可靠的服务器控件和服务器端阳节的架构统称为ASP.NET的扩展。ASP.NET AJAX的客户端部分称为AJAX库。 (从网站http://ajax.asp.net 可以下载两个重要的软件包:ASP.NET AJAX Control Toolkit 和Microsot AJAX Library 3.5)
ASP.NET AJAX 的核心功能分为两部分:AJAX 扩展和AJAX 库。
AJAX扩展
ASP.NET AJAX功能包含在GAC中安装的两个程序集中:
System.Web.Extensions.dll -------这个程序集中包含ASP.NET AJAX功能,包括AJAX 扩展和AJAX 库JavaScript 文件,它们可以通过 ScriptManager 组件来获得。
System.Web.Extensions.Design.dll -------这个程序集中包含用于AJAX扩展服务器控件的ASP.NET Designer 组件,它由ASP.NET Designer 在 VS 或Visual Web Developer中使用。
与AJAX扩展的主要交互操作是使用服务器控件将Ajax功能添加到Web应用程序中。有几个服务器控件可以用各种方式增强用户的应用程序。 ScriptManager、 UpdatePanel、UpdateProgress、 Timer、AsyncPostBackTrigger