1 概述
AJAX Control Toolkit 是由社区和 Microsoft 共同开发的一个 ASP.NET AJAX 扩展控件包,其中包含了数十种基于 ASP.NET AJAX 的、提供某一专一功能的服务端控件。构建在 ASP.NET 2.0 AJAX Extensions 之上,志在成为最大、最好的可用 Web 应用程序的组件集合。
Toolkit 解决了三个需要。首先,使网站开发人员有地方获取组件以更容易的构建他们的 Web 应用程序;第二,它给那些要编写客户端代码的人一个强大的示例集;第三,它是一个使最好的脚本开发人员使工作更加突出的地方。
2 AJAX Control Toolkit 的组成
AJAX Control Toolkit 的最新下载可以从它的开发网站(http://www.codeplex.com/AtlasControlToolkit/ )上得到,在网站有四种下载,分别提供了 .NET Framework 2.0 和 3.5 ,以及带源码和没带源码的下载。
AJAX Control Toolkit 的目录结构如下,在此介绍的是 .NET Framework 2.0 带源码的压缩包的目录结构:
AjaxControlTooki: 此目录中包含了 AJAX Control Toolkit 中所有的源代码以及相应的 Visual Studio 项目文件。可以通过查看这些源代码来学习编写定制的 ASP.NET AJAX 控件,基于这些控件进行二次开发,或者改进这些控件。
Binaries:一些辅助的 .NET 程序集,用于解决方案中其他项目。
SampleWebSite:AJAX Control Toolkit 的示例站点,也可以称为是其文档站点,其中示范了每个控件的使用以及包含了相关属性、方法等的说明。
ToolkitTests:此目录中包含了一个 Web 站点,该站点提供了一套测试框架,可以用来自动测试 Toolkit 中的现有控件。
AjaxControlEntender: 目录中包含了一个 AjaxControlExtender.vsi 的 Visual Studio 安装文件,运行该文件并完成安装后,在 Visual Studio 项目模板中会添加一个 "ASP.NET AJAX Control" 类型的新项目,用于开发自己的的 ASP.NET AJAX 控件。
TemplateVSI:目录中有一个 Visual Studio 项目,用于创建自定义控件的安装文件。
3 构造开发环境
3.1 安装二进制文件
下载并安装最新的 ASP.NET AJAX Extensions 1.0 包;
下载 AJAX Control Toolkit 压缩包并解压到计算机上的一个文件夹中。
3.2 配置 Visual Studio 2005 和 Visual Web Developer
创建一个以 "ASP.NET AJAX-Enabled Web Site" 为模板的网站。
在工具箱上右单击“添加选项卡...”,添加一个名为“AJAX Control Toolkit”的选项卡。
在添加的选项卡上右单击,然后选择“添加项...”。
在出现的“选项工具箱项”对话框中,单击浏览按钮,导航到 AJAX Control Toolkit 解压的目录下的 SampleWebSite"bin 目录,选择“AjaxControlToolkit.dll”,单击“确定”来关闭选择工具箱项对话框。
此时,工具箱面板上就出现了所有的 AJAX Control Toolkit 中的所有控件。
3.3 配置 Web.config
在将 AJAX Control Toolkit 的控件从工具箱中拖到页面上时,Visual Studio 会自动在每个页面中为程序集注册一个前缀 cc1,这样是非常麻烦的,解决的方法是在 Web.config 中为其注册一个有意义的前缀。在 Web.config 加入以下配置即可,这样就注册了一个前缀“ajaxToolkit”:
<system.web>
<pages>
<controls>
<add assembly="AjaxControlToolkit, Version=3.0.20820.42015, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"
namespace="AjaxControlToolkit" tagPrefix="ajax"/>
</controls>
</pages>
</system.web>
2.0下不加版本号可以,3.0下加版本号。
4 总结
AJAX Control Toolkit 是一个强大的扩展控件集,可以极大的方便开发人员开发各种具有 AJAX 特性的 Web 应用程序。同时构建它的开发环境也非常的简单。Microsoft 的东西都是比较方便的。:-)