淺談ASP.NET 2.0服務(wù)器控件開(kāi)發(fā)的基本概念_.Net教程
推薦:揭秘實(shí)現(xiàn)ASP.NET中網(wǎng)站訪問(wèn)量統(tǒng)計(jì)的方法下面介紹如何進(jìn)行ASP.NET中網(wǎng)站訪問(wèn)量的統(tǒng)計(jì)。 一、建立一個(gè)數(shù)據(jù)表IPStat用于存放用戶信息 我在IPStat表中存放的用戶信息只包括登錄用戶的IP(IP_Address),IP來(lái)源(IP_Src)和登錄時(shí)間(IP_DateTime),些表的信息本人只保存一天的信息,如果要統(tǒng)計(jì)每個(gè)月
利用asp.net 2.0技術(shù),創(chuàng)建Web自定義服務(wù)器控件并不是一件輕松的事情。因?yàn)椋@需要開(kāi)發(fā)人員了解并能夠靈活應(yīng)用多種Web開(kāi)發(fā)技術(shù),例如,CSS樣式表、客戶端腳本語(yǔ)言、.NET開(kāi)發(fā)語(yǔ)言、服務(wù)器控件開(kāi)發(fā)技術(shù),甚至是當(dāng)前最火的AJAX技術(shù)等等。雖然現(xiàn)實(shí)如此“艱難”,但是這種開(kāi)發(fā)技術(shù)也不是真的難到不可掌握。事事都要從頭做起。本文將針對(duì)利用asp.net 2.0技術(shù),創(chuàng)建Web自定義服務(wù)器控件的基礎(chǔ)知識(shí)進(jìn)行詳細(xì)介紹,內(nèi)容包括:服務(wù)器控件概念、控件類型、生命周期等。
ASP.NET 2.0服務(wù)器控件概念:什么是Web服務(wù)器控件
在asp.net 2.0中,Web服務(wù)器控件是指在服務(wù)器上執(zhí)行程序邏輯的組件。這個(gè)組件可能生成一定的用戶界面,也可能不包括用戶界面。每個(gè)服務(wù)器控件都包含一些成員對(duì)象,以便開(kāi)發(fā)人員調(diào)用,例如,屬性、事件、方法等。
通常情況下,服務(wù)器控件都包含在asp.net頁(yè)面中。當(dāng)運(yùn)行頁(yè)面時(shí),.NET執(zhí)行引擎將根據(jù)控件成員對(duì)象和程序邏輯定義完成一定的功能。例如,在客戶端呈現(xiàn)用戶界面。這時(shí),用戶可與控件發(fā)生交互行為,當(dāng)頁(yè)面被用戶提交時(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)創(chuàng)建自定義服務(wù)器控件。
2 服務(wù)器控件的類型
asp.net 2.0提供了多種服務(wù)器控件。根據(jù)服務(wù)器控件定義方式,可分為以下3種類型:HTML服務(wù)器控件、asp.net標(biāo)準(zhǔn)服務(wù)器控件和自定義服務(wù)器控件。
ASP.NET 2.0服務(wù)器控件之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):
1、可在服務(wù)器上使用面向?qū)ο蠹夹g(shù)對(duì)其進(jìn)行編程控制,這為編程開(kāi)發(fā)提供了便利。
2、自動(dòng)維護(hù)視圖狀態(tài)。在頁(yè)面窗體到服務(wù)器端往返期間,用戶在HTML服務(wù)器控件中輸入的值將在頁(yè)面回傳中自動(dòng)維護(hù)。
3、與驗(yàn)證控件進(jìn)行交互,便于驗(yàn)證用戶是否在控件輸入了適當(dāng)?shù)男畔ⅰ?/p>
4、允許在HTML服務(wù)器控件中自定義屬性。開(kāi)發(fā)人員可以將任何需要的屬性添加到HTML服務(wù)器控件的屬性集中,頁(yè)框架將讀取并呈現(xiàn)它們而不更改其他任何功能。
ASP.NET 2.0服務(wù)器控件之a(chǎn)sp.net標(biāo)準(zhǔn)服務(wù)器控件
asp.net標(biāo)準(zhǔn)服務(wù)器控件均在名字空間System.Web.UI.WebControls中定義。所謂“標(biāo)準(zhǔn)”是指這類服務(wù)器控件內(nèi)置于asp.net 2.0框架中,是預(yù)先定義的。這類控件并不一對(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種類型:
(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ù)控件:該類控件可細(xì)分為兩種類型:數(shù)據(jù)源控件和數(shù)據(jù)綁定控件。數(shù)據(jù)源控件主要實(shí)現(xiàn)數(shù)據(jù)源連接、SQL語(yǔ)句/存儲(chǔ)過(guò)程執(zhí)行,返回?cái)?shù)據(jù)集合等功能。具體包括SqlDataSource、AccessDataSource、XmlDataSource、SiteMapDataSource、ObjectDataSource等。數(shù)據(jù)綁定控件包括Repeater、DataList、GridView、DetailsView、FormView等。這類控件主要實(shí)現(xiàn)數(shù)據(jù)顯示、提供編輯、刪除等相關(guān)用戶界面等。通常情況下,首先,需要使用數(shù)據(jù)源控件連接數(shù)據(jù)庫(kù),并返回?cái)?shù)據(jù)集合,然后,利用數(shù)據(jù)綁定控件實(shí)現(xiàn)數(shù)據(jù)顯示、更新、刪除等功能。由于Visual Studio 2005設(shè)計(jì)時(shí)的強(qiáng)大支持下,開(kāi)發(fā)人員可以快速實(shí)現(xiàn)以上功能,甚至不需要編寫(xiě)一行代碼。
(3)驗(yàn)證控件:它們是一組特殊的控件,控件中包含驗(yàn)證邏輯以測(cè)試用戶輸入。具體包括:RequiredFieldValidator、RangeValiedator、RegularExpressionValidator、CompareValidator等等。開(kāi)發(fā)人員可以將驗(yàn)證控件附加到輸入控件,測(cè)試用戶對(duì)該輸入控件輸入的內(nèi)容。驗(yàn)證控件可用于檢查輸入字段,對(duì)照字符的特定值或模式進(jìn)行測(cè)試,其目的是驗(yàn)證某個(gè)值是否在限定范圍之內(nèi)或者其他邏輯。
(4)WebParts控件:Web部件是一項(xiàng)非常了不起的功能,利用它能夠創(chuàng)建具備高度個(gè)性化特征的Web應(yīng)用程序。實(shí)現(xiàn)Web部件功能需要WebParts控件支持,asp.net 2.0提供了以下相關(guān)控件,例如WebPartManager、WebPartZone、EditorZone、CatalogZone、PageCatalogPart、AppearanceEditorPart等等。
(5)登錄控件:這類控件可快速實(shí)現(xiàn)用戶登錄及相關(guān)功能,例如,顯示登錄狀態(tài)、密碼恢復(fù)、創(chuàng)建新用戶等。具體包括:LoginView、Login、CreateUserWizard、LoginStatus等等。
asp.net標(biāo)準(zhǔn)服務(wù)器控件由于是官方提供,因此,從系統(tǒng)內(nèi)部就提供了對(duì)它們的強(qiáng)大支持。對(duì)于開(kāi)發(fā)人員而言,這些控件是構(gòu)建Web應(yīng)用程序的主力軍。
ASP.NET 2.0服務(wù)器控件之自定義服務(wù)器控件
自定義服務(wù)器控件派生自名字空間System.Web.UI.Control或System.Web.UI.WebControls。這種服務(wù)器控件完全由開(kāi)發(fā)人員自行設(shè)計(jì)開(kāi)發(fā),開(kāi)發(fā)人員可自定義UI、功能、屬性、方法、事件等特征,這是自定義服務(wù)器控件與asp.net標(biāo)準(zhǔn)服務(wù)器控件本質(zhì)的區(qū)別。
常見(jiàn)的自定義服務(wù)器控件分為4種:復(fù)合控件、驗(yàn)證控件、模板控件和數(shù)據(jù)綁定控件。
(1)復(fù)合控件:該類控件包含兩個(gè)或多個(gè)已存在控件。
分享:ASP.NET網(wǎng)站開(kāi)發(fā)的架構(gòu)設(shè)計(jì)ASP.NET網(wǎng)站開(kāi)發(fā)注意事項(xiàng)之網(wǎng)站文件名: 1、 網(wǎng)站文件名以標(biāo)準(zhǔn)英文單詞描述業(yè)務(wù)內(nèi)容。如果1個(gè)英文單詞無(wú)法描述,可以增加2個(gè)或者3個(gè),但盡量為完全單詞,例如article.aspx/ articleView.aspx / articleList.aspx 等。 2、 文件名盡量不用數(shù)字描述。 3、 文件
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- 關(guān)于.NET的集合總結(jié)
- .net 頁(yè)面指定區(qū)域打印的方法
- 淺談在.NET應(yīng)用程序中進(jìn)行Erlang風(fēng)格的并行編程
- 如何使用.NET正則表達(dá)式區(qū)分中英文
- ASP.NET多頻道網(wǎng)站架構(gòu)實(shí)現(xiàn)方法
- 怎樣在ASP.NET項(xiàng)目里面正確使用Linq to Sql
- .net開(kāi)發(fā)中的一些注意事項(xiàng)及小技巧
- 解析簡(jiǎn)單實(shí)用的DataGrid自定義分頁(yè)源程序
- 教你如何入門(mén)ASP.NET數(shù)據(jù)庫(kù)編程
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-淺談ASP.NET 2.0服務(wù)器控件開(kāi)發(fā)的基本概念
。