


ASP.NET 2.0服務(wù)器控件開(kāi)發(fā)之基本概念篇
|
P.NET 2.0技術(shù),創(chuàng)建Web自定義服務(wù)器控件的基礎(chǔ)知識(shí)進(jìn)行詳細(xì)介紹,內(nèi)容包括:服務(wù)器控件概念、控件類(lèi)型、生命周期等。
1. 什么是Web服務(wù)器控件
在ASP.NET 2.0中,Web服務(wù)器控件是指在服務(wù)器上執(zhí)行程序邏輯的組件。這個(gè)組件可能生成一定的用戶(hù)界面,也可能不包括用戶(hù)界面。每個(gè)服務(wù)器控件都包含一些成員對(duì)象,以便開(kāi)發(fā)人員調(diào)用,例如,屬性、事件、方法等。
通常情況下,服務(wù)器控件都包含在ASP.NET頁(yè)面中。當(dāng)運(yùn)行頁(yè)面時(shí),.NET執(zhí)行引擎將根據(jù)控件成員對(duì)象和程序邏輯定義完成一定的功能。例如,在客戶(hù)端呈現(xiàn)用戶(hù)界面。這時(shí),用戶(hù)可與控件發(fā)生交互行為,當(dāng)頁(yè)面被用戶(hù)提交時(shí),控件可在服務(wù)器端引發(fā)事件,并由服務(wù)器端根據(jù)相關(guān)事件處理程序來(lái)進(jìn)行事件處理。服務(wù)器控件是WebForm編程模型的重要元素,它們構(gòu)成了一個(gè)新的、基于控件的表單程序的基礎(chǔ)。通過(guò)這種方式可以簡(jiǎn)化Web應(yīng)用程序的開(kāi)發(fā),提高應(yīng)用程序的開(kāi)發(fā)效率。
服務(wù)器控件的廣泛應(yīng)用,簡(jiǎn)化了應(yīng)用程序的開(kāi)發(fā),提高了工作效率。那么,何時(shí)應(yīng)創(chuàng)建并使用自定義服務(wù)器控件呢?下面列舉了在三種具體適用情況:
(1)某個(gè)現(xiàn)有服務(wù)器控件基本符合應(yīng)用要求,但是,缺少某些特殊的功能,這時(shí)可以通過(guò)從現(xiàn)有控件中派生并重寫(xiě)其屬性、方法或事件來(lái)自定義服務(wù)器控件。
。2)需要使用的服務(wù)器控件結(jié)合了兩個(gè)或多個(gè)現(xiàn)有控件的功能,例如,封裝一個(gè)按鈕和一個(gè)文本框的復(fù)合控件。此時(shí)可以通過(guò)創(chuàng)建服務(wù)器控件達(dá)到這一目的。
。3)現(xiàn)有服務(wù)器控件(或其組合)均不符合應(yīng)用的要求。對(duì)于這種情況,可以通過(guò)從基類(lèi)派生的方式來(lái)創(chuàng)建自定義服務(wù)器控件。
2 服務(wù)器控件的類(lèi)型
ASP.NET 2.0提供了多種服務(wù)器控件。根據(jù)服務(wù)器控件定義方式,可分為以下3種類(lèi)型:HTML服務(wù)器控件、ASP.NET標(biāo)準(zhǔn)服務(wù)器控件和自定義服務(wù)器控件。
(1)HTML服務(wù)器控件
HTML服務(wù)器控件派生自名字空間System.Web.UI.HtmlControls。它們由普通HTML控件(指HTML語(yǔ)言已定義的控件,例如,Button、Input等)轉(zhuǎn)換而來(lái),其呈現(xiàn)的輸出,基本上與普通HTML控件一致。默認(rèn)情況下,服務(wù)器端很難控制Web頁(yè)面上的普通HTML控件,但是,通過(guò)將普通HTML控件轉(zhuǎn)換為HTML服務(wù)器控件的方法,開(kāi)發(fā)人員則能夠輕而易舉對(duì)其進(jìn)行編程控制。
將普通HTML控件轉(zhuǎn)換為HTML服務(wù)器控件方法比較簡(jiǎn)單。一般情況下,通過(guò)兩個(gè)步驟完成轉(zhuǎn)換:
。1)在普通HTML控件特性中添加Runat="Server"屬性;
(2)設(shè)置ID屬性。通過(guò)轉(zhuǎn)換,普通HTML控件的相關(guān)屬性、事件、方法等將全部映射到HTML服務(wù)器控件中,由此,通過(guò)編程即可在頁(yè)面處理過(guò)程中引用并控制該HTML服務(wù)器控件。
HTML服務(wù)器控件具有以下幾個(gè)重要特點(diǎn):
一、可在服務(wù)器上使用面向?qū)ο蠹夹g(shù)對(duì)其進(jìn)行編程控制,這為編程開(kāi)發(fā)提供了便利。
二、自動(dòng)維護(hù)視圖狀態(tài)。在頁(yè)面窗體到服務(wù)器端往返期間,用戶(hù)在HTML服務(wù)器控件中輸入的值將在頁(yè)面回傳中自動(dòng)維護(hù)。
三、與驗(yàn)證控件進(jìn)行交互,便于驗(yàn)證用戶(hù)是否在控件輸入了適當(dāng)?shù)男畔ⅰ?BR>
四、允許在HTML服務(wù)器控件中自定義屬性。開(kāi)發(fā)人員可以將任何需要的屬性添加到HTML服務(wù)器控件的屬性集中,頁(yè)框架將讀取并呈現(xiàn)它們而不更改其他任何功能。
。2)ASP.NET標(biāo)準(zhǔn)服務(wù)器控件
ASP.NET標(biāo)準(zhǔn)服務(wù)器控件均在名字空間System.Web.UI.WebControls中定義。所謂"標(biāo)準(zhǔn)"是指這類(lèi)服務(wù)器控件內(nèi)置于ASP.NET 2.0框架中,是預(yù)先定義的。這類(lèi)控件并不一對(duì)一映射到HTML服務(wù)器控件,它們比HTML服務(wù)器控件具有更加豐富的功能,并且更加抽象。
與ASP.NET 1.x相比,ASP.NET 2.0新增了50多個(gè)標(biāo)準(zhǔn)服務(wù)器控件。按照控件所提供的功能,ASP.NET標(biāo)準(zhǔn)服務(wù)器控件可分為以下6種類(lèi)型:
。1)標(biāo)準(zhǔn)控件:主要是指?jìng)鹘y(tǒng)的Web窗體控件,例如TextBox、Button、Panel等控件。它們有一組標(biāo)準(zhǔn)化的屬性、事件和方法,因此能夠使開(kāi)發(fā)工作變得簡(jiǎn)單易行。
(2)數(shù)據(jù)控件:該類(lèi)控件可細(xì)分為兩種類(lèi)型:數(shù)據(jù)源控件和數(shù)據(jù)綁定控件。數(shù)據(jù)源控件主要實(shí)現(xiàn)數(shù)據(jù)源連接、SQL語(yǔ)句/存儲(chǔ)過(guò)程執(zhí)行,返回?cái)?shù)據(jù)集合等功能。具體包括SqlDataSource、AccessDataSource、XmlData
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶(hù)
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶(hù)的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解