我们来为我们的 toolbox 添加一些资源 , 这个要通过下载安装 asp.net ajax 工具包完成。登录 www.asp.net 点击 AJAX 按钮,然后找到 ASP.NET AJAX Control Toolkit 这一项,这里有两个版本可供选择,如果我们不想要任何源代码,只想用现成的控件,我们可以下载不包含源代码的版本。介是若想在某些地方调整一下源代码,就选择完整版,同意它的许可协议,然后下载 zip 文件,注意到这只是一个 zip 文件,没有 msi 安装程序,这一点和之前的微软 ajax 扩展不一样。

       解压这个压缩文件,我们选择把这个工具包和asp.net ajax Extensions放在一起,因为那些准备用asp.net ajax开发的程序都会用到AJAX Control Toolkit.

       解压完成后,我们就去看一下里面有些什么。首先是AjaxControlToolkit文件夹,这里面都是工具包中的控件。然后是SampleWebSite,里面包含了所有的演示,有每个控件如何使用的演示范例,还有很多还有一些详细指导,它可以教我们如何创建自定义控件扩展器等等。ToolkitTests是对AJAX Control Toolkit的完整测试,AjaxControlExtender可用来创建我们自己的扩展器,还有TemplateVSI,它可以为我们安装一些工程模版,比如制作自定义控件的模版,或默认使用AJAX Control Toolkit的模版。

       现在我们来运行AjaxControlToolkit.sln这个解决方案,因为下载的是完整版,正常加载。现在要做两件事:一是编译这个VSI模版工程,右击TemplateVSI选择build,这样就可以安装这个模版了,编译这个项目只是提供一个模版,这样让你可以快一点开始工作。第二件事就是,向上翻找到SampleWebSite,在浏览器中预览它。范例网站就出现了,这里有非常丰富的资源,可以观看范例,了解如何使用这些控件扩展器。这里是一个了解如何使用这些控件的绝佳渠道。

      下面,还有一些事要做,在AJAX Control Toolkit中的Binaries文件夹中有那个BuildVsi.dll文件,当你解压了文件后,实际的AJAX Control Toolkit.dll文件在SampleWebSite中的Bin文件夹里。因为我们安装了源文件,我们很可能会修改一些功能,然后就会有几个版本的工具包,我要复制一份最原始的dll文件,把它们放到AJAX Control Toolkit根目录下的Binaries文件夹中。这样就可以备份一份原始版本,AJAX Control Toolkit中的Binaries文件夹是一个放备份的好地方。然后我们打开TemplateVSI,我们风雨在visual studio里面编译过这个,所以有了这个我们可以更快的开始开发ajax工程。打开bin,双击这个VSI文件,它会安装所有的toolkit project temples 工具包工程模版。现在我们可以开始创建我们的第一个包含AJAX Control Toolkitajax网站了。

      下面创建一个新的站点,现在有了这个AJAX Control Toolkit Web Site项目模版,如果不是完整版的Visual Studio你就没办法编译那个VSI文件,你就不会有这个模版。下面就来使用这个模版,切换到Default.aspx文件,我们就可以开始使用AJAX Control Toolkitk 中的控件了。我们看到ajax extensionsmsi文件在工具栏中添加了这个工具集,但是因为AJAX Control Toolkit是一个zip文件,没有msi安装包,所以这里就没有相应的工具集。那么我们来自己建一个,右击工具栏,添加选项卡,起个名字叫AJAX Toolkit,在AJAX Toolkit里面再右击,“选择项目”,点浏览到解压缩的文件夹,若按照之前的操作,则这个文件夹就在C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/AJAX Control Toolkit/Binaries,如果没有移动dll文件,那么它就在SampleWebSite中的Bin文件夹里,选择AJAX Control Toolkit.dll,打开,确定,就会看到刚才创建的AJAX Toolkit栏目里就会充满所有的AJAX controlToolkit控件。

      下面切换到页面上,来做一个最简单的演示,来展示一下使用这些控件的开发模式。实际上,这里面的大部分都是扩展器(Extender),可以看见很多控件的名字都有”Extender”这个后缀。控件扩展器它实际是一个控件,它的作用就是添加动作,通常是客户端的ajax风格的动作,到已经存在的asp.net控件上,下面举一个简单例子感受一下。

      拖一个标准的asp.net控件,如Button控件,添加一个TextBox输入,一个Label输出,接着双击按钮,创建一个Click事件处理器(ClickEventHandler)输入Label1.Text = TextBox1.Text;运行一下确保正确,然后我们把这个程序ajax化,使用AJAX controlToolkit中的一个扩展器。回到设计页面,从刚创建的选项卡AJAX Toolkit中选中Confirm Button Extender,把它放到页面上,出来的对话框只是告诉我们所需的dll已经存在于bin文件夹里,这是因为我们用AJAX controlToolkit项目模版创建了这个网站。选是。前面已经说了,控件扩展器的作用是扩展已经存在的asp.net控件的功能。选中页面上的Confirm Button Extender,看一下它的属性,有一个属性叫做TargetControlID。特定的控件扩展器是用来扩展特定种类的控件的,所以我可以在这个下拉菜单里看见,Confirm Button Extender是专门用来扩展Button控件的,所有在页面上的Button控件都会显示在这个下拉菜单里。选中Button1,这就是我们想要扩展的控件。现在如果我们选中刚才被设为了控件扩展器目标控件的这个按钮,去看看它的属性,因为我已经把这个按钮关联到了控件扩展器上,控件扩展器就为这个Button控件插入了一些新的属性。在这个例子中就只有一个,Extenders栏目里的Confirm Text属性。我们键入“Are you SURE?”这样,我们把这个扩展器绑定到了这个Button控件上,扩展器在Button控件的属性集里面注入了新的属性,我们设置了这个属性。运行程序点按钮之后会出现确定对话框,选取消,就什么都不做,点击确定,就会执行提交,服务器端程序就会执行。