淺談ASP.NET 2.0服務器控件開發的基本概念_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:揭秘實現ASP.NET中網站訪問量統計的方法
      下面介紹如何進行ASP.NET中網站訪問量的統計。 一、建立一個數據表IPStat用于存放用戶信息 我在IPStat表中存放的用戶信息只包括登錄用戶的IP(IP_Address),IP來源(IP_Src)和登錄時間(IP_DateTime),些表的信息本人只保存一天的信息,如果要統計每個月

      利用asp.net 2.0技術,創建Web自定義服務器控件并不是一件輕松的事情。因為,這需要開發人員了解并能夠靈活應用多種Web開發技術,例如,CSS樣式表、客戶端腳本語言、.NET開發語言、服務器控件開發技術,甚至是當前最火的AJAX技術等等。雖然現實如此“艱難”,但是這種開發技術也不是真的難到不可掌握。事事都要從頭做起。本文將針對利用asp.net 2.0技術,創建Web自定義服務器控件的基礎知識進行詳細介紹,內容包括:服務器控件概念、控件類型、生命周期等。

      ASP.NET 2.0服務器控件概念:什么是Web服務器控件

      在asp.net 2.0中,Web服務器控件是指在服務器上執行程序邏輯的組件。這個組件可能生成一定的用戶界面,也可能不包括用戶界面。每個服務器控件都包含一些成員對象,以便開發人員調用,例如,屬性、事件、方法等。

      通常情況下,服務器控件都包含在asp.net頁面中。當運行頁面時,.NET執行引擎將根據控件成員對象和程序邏輯定義完成一定的功能。例如,在客戶端呈現用戶界面。這時,用戶可與控件發生交互行為,當頁面被用戶提交時,控件可在服務器端引發事件,并由服務器端根據相關事件處理程序來進行事件處理。服務器控件是WebForm編程模型的重要元素,它們構成了一個新的、基于控件的表單程序的基礎。通過這種方式可以簡化Web應用程序的開發,提高應用程序的開發效率。

      服務器控件的廣泛應用,簡化了應用程序的開發,提高了工作效率。那么,何時應創建并使用自定義服務器控件呢?下面列舉了在三種具體適用情況:

      (1)某個現有服務器控件基本符合應用要求,但是,缺少某些特殊的功能,這時可以通過從現有控件中派生并重寫其屬性、方法或事件來自定義服務器控件。

      (2)需要使用的服務器控件結合了兩個或多個現有控件的功能,例如,封裝一個按鈕和一個文本框的復合控件。此時可以通過創建服務器控件達到這一目的。

      (3)現有服務器控件(或其組合)均不符合應用的要求。對于這種情況,可以通過從基類派生的方式來創建自定義服務器控件。

      2 服務器控件的類型

      asp.net 2.0提供了多種服務器控件。根據服務器控件定義方式,可分為以下3種類型:HTML服務器控件、asp.net標準服務器控件和自定義服務器控件。

      ASP.NET 2.0服務器控件之HTML服務器控件

      HTML服務器控件派生自名字空間System.Web.UI.HtmlControls。它們由普通HTML控件(指HTML語言已定義的控件,例如,Button、Input等)轉換而來,其呈現的輸出,基本上與普通HTML控件一致。默認情況下,服務器端很難控制Web頁面上的普通HTML控件,但是,通過將普通HTML控件轉換為HTML服務器控件的方法,開發人員則能夠輕而易舉對其進行編程控制。

      將普通HTML控件轉換為HTML服務器控件方法比較簡單。一般情況下,通過兩個步驟完成轉換:

      (1)在普通HTML控件特性中添加Runat=“Server”屬性;

      (2)設置ID屬性。通過轉換,普通HTML控件的相關屬性、事件、方法等將全部映射到HTML服務器控件中,由此,通過編程即可在頁面處理過程中引用并控制該HTML服務器控件。

      HTML服務器控件具有以下幾個重要特點:

      1、可在服務器上使用面向對象技術對其進行編程控制,這為編程開發提供了便利。

      2、自動維護視圖狀態。在頁面窗體到服務器端往返期間,用戶在HTML服務器控件中輸入的值將在頁面回傳中自動維護。

      3、與驗證控件進行交互,便于驗證用戶是否在控件輸入了適當的信息。

      4、允許在HTML服務器控件中自定義屬性。開發人員可以將任何需要的屬性添加到HTML服務器控件的屬性集中,頁框架將讀取并呈現它們而不更改其他任何功能。

      ASP.NET 2.0服務器控件之asp.net標準服務器控件

      asp.net標準服務器控件均在名字空間System.Web.UI.WebControls中定義。所謂“標準”是指這類服務器控件內置于asp.net 2.0框架中,是預先定義的。這類控件并不一對一映射到HTML服務器控件,它們比HTML服務器控件具有更加豐富的功能,并且更加抽象。

      與asp.net 1.x相比,asp.net 2.0新增了50多個標準服務器控件。按照控件所提供的功能,asp.net標準服務器控件可分為以下6種類型:

      (1)標準控件:主要是指傳統的Web窗體控件,例如TextBox、Button、Panel等控件。它們有一組標準化的屬性、事件和方法,因此能夠使開發工作變得簡單易行。

      (2)數據控件:該類控件可細分為兩種類型:數據源控件和數據綁定控件。數據源控件主要實現數據源連接、SQL語句/存儲過程執行,返回數據集合等功能。具體包括SqlDataSource、AccessDataSource、XmlDataSource、SiteMapDataSource、ObjectDataSource等。數據綁定控件包括Repeater、DataList、GridView、DetailsView、FormView等。這類控件主要實現數據顯示、提供編輯、刪除等相關用戶界面等。通常情況下,首先,需要使用數據源控件連接數據庫,并返回數據集合,然后,利用數據綁定控件實現數據顯示、更新、刪除等功能。由于Visual Studio 2005設計時的強大支持下,開發人員可以快速實現以上功能,甚至不需要編寫一行代碼。

      (3)驗證控件:它們是一組特殊的控件,控件中包含驗證邏輯以測試用戶輸入。具體包括:RequiredFieldValidator、RangeValiedator、RegularExpressionValidator、CompareValidator等等。開發人員可以將驗證控件附加到輸入控件,測試用戶對該輸入控件輸入的內容。驗證控件可用于檢查輸入字段,對照字符的特定值或模式進行測試,其目的是驗證某個值是否在限定范圍之內或者其他邏輯。

      (4)WebParts控件:Web部件是一項非常了不起的功能,利用它能夠創建具備高度個性化特征的Web應用程序。實現Web部件功能需要WebParts控件支持,asp.net 2.0提供了以下相關控件,例如WebPartManager、WebPartZone、EditorZone、CatalogZone、PageCatalogPart、AppearanceEditorPart等等。

      (5)登錄控件:這類控件可快速實現用戶登錄及相關功能,例如,顯示登錄狀態、密碼恢復、創建新用戶等。具體包括:LoginView、Login、CreateUserWizard、LoginStatus等等。

      asp.net標準服務器控件由于是官方提供,因此,從系統內部就提供了對它們的強大支持。對于開發人員而言,這些控件是構建Web應用程序的主力軍。

      ASP.NET 2.0服務器控件之自定義服務器控件

      自定義服務器控件派生自名字空間System.Web.UI.Control或System.Web.UI.WebControls。這種服務器控件完全由開發人員自行設計開發,開發人員可自定義UI、功能、屬性、方法、事件等特征,這是自定義服務器控件與asp.net標準服務器控件本質的區別。

      常見的自定義服務器控件分為4種:復合控件、驗證控件、模板控件和數據綁定控件。

      (1)復合控件:該類控件包含兩個或多個已存在控件。

       

       

      分享:ASP.NET網站開發的架構設計
      ASP.NET網站開發注意事項之網站文件名: 1、 網站文件名以標準英文單詞描述業務內容。如果1個英文單詞無法描述,可以增加2個或者3個,但盡量為完全單詞,例如article.aspx/ articleView.aspx / articleList.aspx 等。 2、 文件名盡量不用數字描述。 3、 文件

      共4頁上一頁1234下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2009-10-03
      相關.Net教程