ASP.NET 2.0 AJAX 第三天:了解ASP.NET AJAX体系结构
ASP.NET AJAX的体系结构是建产在ASP.NET 2.0基础之上的,是对ASP.NET 2.0功能的一种扩展。这种扩展是在客户端和服务器两方面进行的。ASP.NET AJAX就是微软使用一个丰富的客户端脚本库和一个重要的服务器端功能层增强了ASP.NET的功能。因此,认识ASP.NET AJAX应从客户端和服务器端两方面去学习。
(图片来源于Google图片搜索)
如图所示,ASP.NET AJAX的体系结构,分为客户端(Client)和服务器端(Server)两部分。
1) ASP.NET AJAX对客户端的扩展主要是增加了Microsoft AJAX Library这一代码库,它包含了所有客户端功能,是由一些使得 ASP.NET AJAX 可以工作的JavaScript文件组成。Microsoft AJAX Library史无前例地扩展了JavaScript的功能,比如:可以使用面各对象的特性创建客户端脚本,例如:类、继承、接口等;还扩展了具有C#开发人员熟悉的类,例如:StringBuilder 和Timer类。这大大简化了客户端的开发。
2) ASP.NET AJAX在服务器端提供了相当丰富的功能,包括一些组件和控件,如:ASP.NET AJAX Extensions和ASP.NET AJAX Control Toolkit里的控件等。它使得AJAX的开发变得相当简单。这在第二天的学习中已深有体会了。当然,这也是微软的一贯风格。常见的服务器控件主要是ASP.NET AJAX Extensions下的那几个,
ScriptManager:管理客户端脚本,在每个页面只允许有一个它的实例,是每个启用ASP.NET AJAX的Web表单所必需的。
ScriptManageProxy:如果Master页面包含ScriptManager控件,但同时想在内容页中使用ASP.NET AJAX功能,又由于每个页面只能有一个ScriptManager的实例,所以这个内容页必须使用一个ScriptManagerProxy控件来协调和ScriptManager的脚本管理
UpdatePanel:任何位于UpdatePanel中的控件都可以简单地进行AJAX风格的局部刷新
UpdateProgress:显示一个状态栏(或其他动画)以在进行了一个长时间AJAX请求时,给用户一个反馈信息
Timer:用于按精确的时间间隔来执行客户端事件,例如每X秒刷新一次UpdatePanel