输入控件在任何应用程序中都必不可少,但是当 Web 应用程序代表您组织的形象时,它们显得尤为重要。这些控件可能是用户评判您的应用程序甚至您组织可信度的主要衡量标准。
在 Windows 和 Web 编程中,用户界面都是通过创建控件来构建的。但是可用的控件并不是特别丰富。Windows 窗体的输入控件仍以 Win32 控件为基础,Web 控件则比 HTML <INPUT> 标记的包装好不了多少。很明显,我们需要更好的输入控件,尤其对编写 ASP.NET AJAX 应用程序的开发人员更是如此,因为这些控件非常依赖客户端用户的交互。
在这个分为两部分的系列文章中,我将主要介绍 ASP.NET 3.5 的输入功能,但是我要说明的大部分信息也适用于安装了 ASP.NET AJAX Extensions 的 ASP.NET 2.0。我将讨论如何通过使用 AJAX 控件工具包(在此我称之为 ACT)中提供的某些 JavaScript 驱动的行为,增强 ASP.NET 输入控件功能。本月我将介绍一组基本的 ACT 输入扩展;下个月我将深入介绍更多的高级功能。
入门
ACT 是 Web 控件的共享源码库,您可从 codeplex.com/AtlasControlToolkit 下载它。ACT 通过预定义的脚本代码块扩展了现有 ASP.NET 服务器控件。ACT 扩展器可应用于内置和自定义的 ASP.NET 控件。
从技术层面来讲,ACT 组件在控件(例如 TextBox 和 Panel)之上添加了额外的 JavaScript 层。因此,对 AJAX 的使用并不是必需的。但是,ACT 组件的实现在很大程度上依赖于 Microsoft AJAX Library 中的 JavaScript 功能,以及 ASP.NET AJAX Extensions 服务器运行时。
ACT 授权规范位于 asp.net/ajax/ajaxcontroltoolkit。CodePlex 上的 ACT 项目页有两个专栏下载项:带 AJAX Extensions 的 ASP.NET 2.0 和 ASP.NET 3.5(请参阅 codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx)。
要将 ACT 用于 ASP.NET 应用程序中,您需要在项目中引用该程序集,然后将 ACT 注册到使用它的任何页面。对每个页面注册 ACT 的方法是使用 @Register 指令并指定任意前缀,例如:
<%@ Register Assembly="AjaxControlToolkit"
Namespace="AjaxControlToolkit"
TagPrefix="act" %>
此外,您也可以为应用程序中的所有页在 web.config 文件中注册该库。以下是要使用的配置脚本:
<pages>
<controls>
<add tagPrefix="act"
namespace="AjaxControlToolkit"
assembly=" AjaxControlToolkit" />
</controls>
</pages>
ACT 控件不会自动出现在 Visual Studio 工具箱中,但是添加新的选项卡非常容易,如图 1 所示。
Figure 1ACT in Visual Studio 2008