用ASP.NET建立自訂文字框

來源:互聯網
上載者:User
在一個.NET的應用程式中使用自己建立的控制項可以大大增強應用程式的功能,你可以在原有控制項的基礎上加入想要的屬性和行為,甚至建立自訂的控制項。在asp.net中,我們更可以往一些控制項中增加一些用戶端的javascript功能,減少每次在提交頁面時將資料返回給伺服器的次數 ,從而提高程式的功能和效率。在這篇文章中,我們將看下,如何用asp.net建立一個自訂的文字框控制項,當焦點在該文字框控制項上及離開控制項時,文字框控制項的背景顏色會隨之改變。這個控制項將包含如下的功能:
  1) 當使用者在文字框輸入資料時,文字框的背景顏色以預先設定的顏色顯示,當使用者的輸入焦點離開文字框時,能恢複原來文字框的背景顏色。
  2)可以在vs.net的設計期間,改變該自訂控制項的各項屬性。
  下面我們開始一步步建立該控制項。首先,建立一個空的vs.net解決方案,增加一個asp.net工程(命名為webapplication)和一個web控制項陳列庫工程(命名為ControLib)。將asp.net工程中的webform1.aspx重新命名為container.aspx;將web控制項陳列庫工程中的webcustomercontrol1.cs重新命名為PimpedOutTextbox.cs。
  接著,往pimpedouttextbox類中添加代碼。因為這是個WEB控制項陳列庫,VS.NET已經引入相關的類庫。由於我們這個應用將會用到顏色方面的功能,所以引入繪圖類。
using System.Drawing;
  再用如下的代碼替換原來預定義的代碼。
line 1: [assembly: TagPrefix ( "ControlLib" , "lib" )]
line 2: namespace ControlLib
line 3: {
line 4: [DefaultProperty( "BackColorOn" ),
line 5: ToolboxData( "<{0}:PimpedOutTextbox runat=server></{0}:PimpedOutTextbox>" )]
line 6: public class PimpedOutTextbox : System.Web.UI.WebControls.TextBox
line 7: {
  在一開始,增加了assembly屬性,其目的是,當在vs.net中拖拉該控制項時,VS.net會自動添加Tagprefix的控制項標記。在pimedouttexbox類中,增加了幾個屬性:defaultproperty和toolboxdata.defaultproperty中的屬性backcoloron的含義是,當把該控制項從VS.NET的工具箱拖拉到設計器時,該控制項中被預設選定的屬性。Toolboxdata屬性是和[assembly:Tagprefix]屬性相關,用來表明該控制項是如何從HTML視圖中產生的。這些屬性將在下文詳細講解。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.