ASP.NET 2.0服務器控件開發之基本概念篇
|
P.NET 2.0技術,創建Web自定義服務器控件的基礎知識進行詳細介紹,內容包括:服務器控件概念、控件類型、生命周期等。
1. 什么是Web服務器控件
在ASP.NET 2.0中,Web服務器控件是指在服務器上執行程序邏輯的組件。這個組件可能生成一定的用戶界面,也可能不包括用戶界面。每個服務器控件都包含一些成員對象,以便開發人員調用,例如,屬性、事件、方法等。
通常情況下,服務器控件都包含在ASP.NET頁面中。當運行頁面時,.NET執行引擎將根據控件成員對象和程序邏輯定義完成一定的功能。例如,在客戶端呈現用戶界面。這時,用戶可與控件發生交互行為,當頁面被用戶提交時,控件可在服務器端引發事件,并由服務器端根據相關事件處理程序來進行事件處理。服務器控件是WebForm編程模型的重要元素,它們構成了一個新的、基于控件的表單程序的基礎。通過這種方式可以簡化Web應用程序的開發,提高應用程序的開發效率。
服務器控件的廣泛應用,簡化了應用程序的開發,提高了工作效率。那么,何時應創建并使用自定義服務器控件呢?下面列舉了在三種具體適用情況:
。1)某個現有服務器控件基本符合應用要求,但是,缺少某些特殊的功能,這時可以通過從現有控件中派生并重寫其屬性、方法或事件來自定義服務器控件。
。2)需要使用的服務器控件結合了兩個或多個現有控件的功能,例如,封裝一個按鈕和一個文本框的復合控件。此時可以通過創建服務器控件達到這一目的。
(3)現有服務器控件(或其組合)均不符合應用的要求。對于這種情況,可以通過從基類派生的方式來創建自定義服務器控件。
2 服務器控件的類型
ASP.NET 2.0提供了多種服務器控件。根據服務器控件定義方式,可分為以下3種類型:HTML服務器控件、ASP.NET標準服務器控件和自定義服務器控件。
。1)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服務器控件具有以下幾個重要特點:
一、可在服務器上使用面向對象技術對其進行編程控制,這為編程開發提供了便利。
二、自動維護視圖狀態。在頁面窗體到服務器端往返期間,用戶在HTML服務器控件中輸入的值將在頁面回傳中自動維護。
三、與驗證控件進行交互,便于驗證用戶是否在控件輸入了適當的信息。
四、允許在HTML服務器控件中自定義屬性。開發人員可以將任何需要的屬性添加到HTML服務器控件的屬性集中,頁框架將讀取并呈現它們而不更改其他任何功能。
(2)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、XmlData
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解