建立ASP.NET WEB自訂控制項——常式1

來源:互聯網
上載者:User

WEB自訂控制項編程是ASP.NET編程裡面比較難的一部分,尤其是複雜的控制項需要用到平常不常用的一些技術技巧。

下面根據一些我自己的實踐經驗,向讀者介紹一下這方面的技術。

簡單的繼承控制項:ConfirmButton

我們在用ASP.NET編寫應用程式的時候,經常需要在按鈕提交的時候彈出一個[OK][Cancel]的確認框,以防止使用者在操作的時候誤提交。實現這個功能傳統的方法是在字碼頁的Page_Load事件裡添加按鈕的Attributes,但是每個按鈕都要添加一遍比較麻煩。下面我們來自己製作一個有這樣功能的按鈕解決這個問題。

(常式採用C#語言)

1.建立項目

首先開啟Visual Studio.net,建立一個新的Web控制項陳列庫項目,取名TestLib。在方案總管裡會有一個標識為WebCustomControl1.cs的原始碼檔案,將其改名為ConfirmButton.cs。

2.編輯代碼

開啟ConfirmButton.cs源檔案,將類名“WebCustomControl1”改為“ConfirmButton”;將類繼承自“System.Web.UI.WebControls.WebControl”改為“System.Web.UI.WebControls.Button”;

將代碼“[DefaultProperty("Text"),

         ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")]”

改為“[DefaultProperty("Text"),

         ToolboxData("<{0}:ConfirmButton runat=server></{0}:ConfirmButton>")]”,這樣使得aspx頁面顯示的該控制項xml代碼標識顯示“<cc1:ConfirmButton …> …</cc1: ConfirmButton>”。

下面進一步修改代碼,刪除原有代碼:

private string text;

         [Bindable(true),

              Category("Appearance"),

              DefaultValue("")]

         public string Text

         {

              get

              {

                   return text;

              }

              set

              {

                   text = value;

              }

         }

添加新代碼(用於設定在彈出的確認框中顯示的資訊):

private string _confirmMessage = "Is OK?";

         [Bindable(true),

              Category("Appearance"),

              DefaultValue("Is OK?")]

         public string ConfirmMessage

         {

              get

              {

                   return _confirmMessage;

              }

              set

              {

                   _confirmMessage = value;

              }

         }

最後將

protected override void Render(HtmlTextWriter output)

         {

              output.Write(Text);

         }

改為protected override void Render(HtmlTextWriter output)

         {

              base.Attributes.Add("OnClick","return confirm('"+this._confirmMessage+"');");

              base.Render(output);

         }

3.添加在工具箱中顯示的表徵圖

       選擇菜單[項目]/[添加新項],在彈出的對話方塊中選擇建立“位元影像檔案”並將檔案名稱改為“ConfirmButton”(很重要,位元影像檔案名稱必需和類名一致)。然後在“方案總管”中選中該位元影像檔案,並在屬性設定框中將“產生操作”的值設定為“內嵌資源”。

 

好了,編譯一下吧,一切OK了。剩下的事,就是把編譯好的dll檔案找到並添加到工具箱中,在以後的WEB應用程式中就可以用了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.