ASP.NET 2.0 搭配 Visual Studio 2005,提供完整的自訂伺服器控制項開發環境。本文詳細記錄從建立測試網站、新增 Web 控制項庫專案、編寫控制項程式碼、編譯到測試驗證的完整標準流程。
D:\AppTest\test1。Default.aspx、Default.aspx.cs、App_Data 資料夾。HelloMyControl,位置:D:\AppTest\test1(與測試網站同目錄便於管理)。test1(網站)、HelloMyControl(控制項庫)。控制項庫預設包含 WebCustomControl1.cs,繼承 System.Web.UI.WebControls.WebControl。
修改 WebCustomControl1.cs,實作簡易 HelloWorld 控制項:
[DefaultProperty("Text")]
[ToolboxData("<{0}:HelloWorld runat=server>{0}:HelloWorld>")]
public class HelloWorld : WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get { return (string)ViewState["Text"]; }
set { ViewState["Text"] = value; }
}
protected override void RenderContents(HtmlTextWriter output)
{
output.Write(Text);
}
}
HelloMyControl 專案 → 「建置」。HelloMyControl.dll 位於專案 bin\Debug 或 bin\Release。test1 右鍵 → 「加入參考」→「專案」頁籤 → 選擇 HelloMyControl。Default.aspx 註冊標籤前綴:<%@ Register Assembly="HelloMyControl" Namespace="HelloMyControl" TagPrefix="cc1" %>
<cc1:HelloWorld ID="HelloWorld1" runat="server" Text="Hello, Custom Control!" />
HelloMyControl.dll。bin。HelloMyControl.dll 至網站 bin 目錄或 GAC。web.config <pages> <controls> 區段全站註冊標籤前綴,免去每頁 @Register。掌握此標準流程,即可開始建構可重用、可維護、設計工具友善的企業級自訂伺服器控制項庫。