輸入控制項在任何應用程式中都必不可少,但是當 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