【51CTO.com独家特稿】一、引言
最近,微软ASP.NET Ajax 1.0框架正在引起越来越多的web开发者的注意。原因何在?一方面,因为它是微软推荐的一个基于Ajax的主要针对ASP.NET 2.0平台的web开发方案。另一方面,因为这个框架登上Ajax舞台的时间如此之晚,但却把一套新的完整的基于Ajax的web开发方案呈现在web技术人员的前面—与遗留ASP.NET系统的有机整合并实现了完全面向对象的客户端JavaScript组件模型等!在本系列文章中,我想结合自己近来的学习详细剖析微软ASP.NET Ajax 1.0框架的客户端数据绑定架构部分所涉及的关键技术。在本篇(上篇)中,我们将主要从理论角度来探讨这个框架的数据绑定架构并给出一个简单示例实现;在下篇中,我们将通过构建两个具有较大区别的示例(一个例子的数据源直接来源于普通的web服务,而另一个例子的数据源则来自于一个SQL Server 2005数据库)来探讨实际开发环境下的基于ASP.NET Ajax 1.0客户端数据绑定技术的应用程序。
关于ASP.NET AJAX Futures January CTP
首先,让我们来观察一下ASP.NET AJAX框架的整体架构图(图1):
![]() |
图1:ASP.NET AJAX架构图 |
通常情况下,我们提到ASP.NET AJAX(以后简称“MS AJAX”)框架时,往往指如下的三个部分:
◆ASP.NET 2.0 AJAX Extensions 1.0。这一部分对应于程序集System.Web.Extensions.dll和System.Web.Extensions.Design.dll,它们共包含三个JavaScript文件—MicrosoftAjax.js,MicrosoftAjaxTimer.js和MicrosoftAjaxWebForms.js;
◆ASP.NET AJAX Control Toolkit(在前面的图1没有指出),这个包中提供了大量现成的例子并包含一个功能相当强大的SDK,其目的是进一步简化创建定制的ASP.NET AJAX控件及扩展器;
◆ASP.NET AJAX Futures January CTP(最近又刚发行了一个五月版,但本文中的所有概念及例子照样通用),这一部分对应于程序集Microsoft.Web.Preview.dll(包含三个文件—PreviewScript.js,PreviewGlitz.js和PreviewDragDrop.js)。
【作者注】为了全面理解本文中内容,读者需要安装ASP.NET 2.0 AJAX Extensions 1.0和ASP.NET 2.0 AJAX Futures January CTP(而ASP.NET AJAX Control Toolkit部分可不安装,但强烈建议安装试用)。篇幅所限,对于这些内容的安装不再赘述。
既然在本文中我们的主要目标在于ASP.NET AJAX Futures January CTP(只有它才支持丰富的客户端数据绑定机制),那么现在就让我们开始这一较长的探索历程。
二、命名空间Sys.Preview.Data中的客户端控件简介
从前面的图1中,读者可能会注意到其中有一个基础类库(对应文件PreviewScript.js),这正是整个ASP.NET AJAX Futures January CTP的核心部分。这个库中包含的命名空间和类如下图2所示。
![]() |
图2:基础类库中的组件 |
广州网站建设,网站建设,广州网页设计,广州网站设计
从上图中易见,所有的绑定于数据库及那些负责从web服务中获取数据集的所有的客户端控件都定义于命名空间Sys.Preview.Data中。现在,让我们对其中几个最为重要的控件作一介绍。