Web開發(fā)實(shí)用技術(shù)NETWeb應(yīng)用程序開發(fā)技術(shù)_第1頁
Web開發(fā)實(shí)用技術(shù)NETWeb應(yīng)用程序開發(fā)技術(shù)_第2頁
Web開發(fā)實(shí)用技術(shù)NETWeb應(yīng)用程序開發(fā)技術(shù)_第3頁
Web開發(fā)實(shí)用技術(shù)NETWeb應(yīng)用程序開發(fā)技術(shù)_第4頁
Web開發(fā)實(shí)用技術(shù)NETWeb應(yīng)用程序開發(fā)技術(shù)_第5頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第第6章章 .NET Web應(yīng)用程序應(yīng)用程序開發(fā)技術(shù)開發(fā)技術(shù)學(xué)習(xí)要點(diǎn):學(xué)習(xí)要點(diǎn): l1掌握C#語言編程技術(shù)l2了解ASP.NET的運(yùn)行模式l3熟悉ASP.NET的服務(wù)器對(duì)象l4掌握ASP.NET基本控件的使用l5學(xué)會(huì)配置Web.config文件l6掌握ADO.NET數(shù)據(jù)庫訪問技術(shù)l7學(xué)會(huì)使用VS2005創(chuàng)建Web服務(wù)l8掌握進(jìn)行.NET控件開發(fā)的技術(shù) .NET Web應(yīng)用程序開發(fā)技術(shù)應(yīng)用程序開發(fā)技術(shù)l要學(xué)好ASP.NET的編程,必須掌握一種編程語言。本章將首先介紹C#語言,為讀者編程提供參考(詳細(xì)的C#編程方法請(qǐng)看專門書籍);然后介紹了主要Web服務(wù)器標(biāo)準(zhǔn)控件、服務(wù)器端驗(yàn)證控件和ASP.NET

2、內(nèi)置服務(wù)器對(duì)象等的使用,介紹了Web.config文件的作用和常用配置參數(shù);重點(diǎn)介紹了ADO.NET數(shù)據(jù)庫訪問技術(shù)以及執(zhí)行存儲(chǔ)過程、數(shù)據(jù)庫的事務(wù)處理、跨數(shù)據(jù)庫訪問、數(shù)據(jù)綁定技術(shù)等內(nèi)容;給出了創(chuàng)建和訪問Web服務(wù)的實(shí)例;以案例方式對(duì).NET中的代碼重用實(shí)現(xiàn)技術(shù),包括Web開發(fā)中的類庫構(gòu)建與訪問、Web自定義控件和工具箱控件開發(fā)等進(jìn)行了初步介紹;最后實(shí)例演示了如何在 ASP.NET中進(jìn)行XML編程。 第第6章章 .NET Web應(yīng)用程序開發(fā)技術(shù)應(yīng)用程序開發(fā)技術(shù)l6.1 C#語言初步l6.2 常用ASP.NET控件的使用l6.3 Web.config文件的配置l6.4 ASP.NET內(nèi)置服務(wù)器對(duì)象與

3、Global.asax文件l6.5 ADO.NET數(shù)據(jù)庫訪問技術(shù)l6.6 用VS2005創(chuàng)建和訪問Web服務(wù)實(shí)例l6.7 Web開發(fā)中的類庫構(gòu)建與訪問l6.8 Web控件開發(fā)實(shí)例l6.9 ASP.NET中XML編程基礎(chǔ)6.1 C#語言初步l6.1.1 C#程序的基本結(jié)構(gòu)l6.1.2 C#中的數(shù)據(jù)類型l6.1.3 C#變量聲明及其初始化l6.1.4 C#表達(dá)式l6.1.5 C#控制語句l6.1.6 C#類聲明6.2 常用ASP.NET控件的使用l6.2.1服務(wù)器端標(biāo)準(zhǔn)控件l6.2.2服務(wù)器端驗(yàn)證控件l6.2.3 服務(wù)器控件使用注意事項(xiàng)l6.2.4 服務(wù)器端數(shù)據(jù)訪問控件6.4 ASP.NET內(nèi)置服

4、務(wù)器對(duì)象與Global.asax文件l6.4.1 ASP.NET內(nèi)置服務(wù)器對(duì)象l6.4.2 Global.asax 文件6.5 ADO.NET數(shù)據(jù)庫訪問技術(shù)l6.5.1 Connection對(duì)象l6.5.2 Command對(duì)象l6.5.3 DataReader對(duì)象l6.5.4 Dataset對(duì)象與DataAdapter對(duì)象l6.5.5執(zhí)行存儲(chǔ)過程l6.5.6 數(shù)據(jù)庫事務(wù)處理l6.5.7跨數(shù)據(jù)庫訪問l6.5.8數(shù)據(jù)綁定技術(shù)6.7 Web開發(fā)中的類庫構(gòu)建與訪問l6.7.1在Web開發(fā)中構(gòu)建一個(gè)類庫l6.7.2 在Web開發(fā)中訪問類庫6.8 Web控件開發(fā)實(shí)例l6.8.1建立用戶自定義控件l6.8.

5、2工具箱控件的創(chuàng)建與使用6.1.1 C#程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu) C#是由C和C+發(fā)展而來的面向?qū)ο蠛皖愋桶踩木幊陶Z言。C#讀作C Sharp,它和JAVA非常相近,其目標(biāo)在于把Visual Basic的高生產(chǎn)力和C+本身的能力結(jié)合起來。下面我們通過一個(gè)C#語言的簡單例子來了解一些概念和用C#語言編寫程序的方法。 例6.1: using System; class Hello static void Main() Console.WriteLine(Hello, world); 下面對(duì)這個(gè)程序進(jìn)行一些說明:1) C#程序的源代存儲(chǔ)在擴(kuò)展名為.cs的文件中;2)using System 引

6、用名稱空間。 名稱空間是在Microsoft.NET類庫中提供的。使用“using”命令后, 就可以無障礙地使用名稱空間中的各種類型員。 例如System名稱空間下有一個(gè)IO名稱空間,IO名稱空間下又有一個(gè)File名稱空間,現(xiàn)在我們要使用該空間則在引用的時(shí)候可以寫成 using System.IO.File 3)Main方法是類Hello中的一個(gè)成員,它有static的說明符,所以它是類Hello中的一個(gè)方法而不是此類中的實(shí)例。 Main方法是應(yīng)用程序的主入口點(diǎn),也稱作開始執(zhí)行應(yīng)用程序的方法。4)C#語言編譯器CSC.EXE只是將程序員編寫的代碼編譯成 MSIL(Microsoft Intem

7、ediate Language)中間語言。中間語言在安裝時(shí)被運(yùn)行庫編譯成本機(jī)代碼或者首次運(yùn)行時(shí)被實(shí)時(shí)編譯。因此例6.1中的hello.exe只是一個(gè)由中間語言可執(zhí)行文件頭組成的可移植執(zhí)行文件。 下面我們從以下幾個(gè)方面對(duì)C#語言進(jìn)行詳細(xì)介紹。6.1.2 C#中的數(shù)據(jù)類型中的數(shù)據(jù)類型 C#支持兩種類型:數(shù)據(jù)類型和引用類型。數(shù)據(jù)類型和引用類型的區(qū)別在于,數(shù)據(jù)類型變量直接包含它們的數(shù)據(jù),而引用類型變量是存儲(chǔ)對(duì)于對(duì)象的引用。對(duì)于引用類型,有可能兩個(gè)變量引用相同的對(duì)象,因而可能出現(xiàn)對(duì)一個(gè)變量的操作影響到其他變量所引用對(duì)象的情況。對(duì)于數(shù)據(jù)類型,每個(gè)變量都有它們自己對(duì)數(shù)據(jù)的拷貝,所以不太可能因?yàn)閷?duì)一個(gè)進(jìn)行操作

8、而影響到其他變量。6.1.3 C#變量聲明及其初始化變量聲明及其初始化我們結(jié)合表6-1來介紹數(shù)據(jù)類型變量聲明及其初始化表6-1:(1)值類型 整型整型 取值范圍取值范圍 .NET框架基框架基類類 聲明及初始化聲明及初始化 sbyte -128127 System.SBytesbyte a=1,b=5,c; /有符號(hào) 8 位整數(shù) byte 0255System.Byte byte a=1,b=2; /無符號(hào) 8 位整數(shù) short -3276832767 System.Int16 short a=60; /有符號(hào) 16 位整數(shù) ushort 065535 System.UInt16 ushort

9、 a=60; /無符號(hào)無符號(hào) 16 位整數(shù)位整數(shù) int -2 31231-1System.Int32 int a=10,b=60; / 有符號(hào) 32 位整數(shù) uint 0232-1System.UInt32 uint uInt1 = 123;/ 無符號(hào) 32 位整數(shù) long-263 263-1System.Int64 long l=4294967296L; /有符號(hào) 64 位整數(shù)浮點(diǎn)型浮點(diǎn)型 取值范圍取值范圍 .NET框架基類框架基類 初始化初始化 float 1.5*10-453.4*10308 System.Single float x=3.5F;/默認(rèn)情況下實(shí)數(shù)被視為 double。

10、使用后綴 f 或 F 可轉(zhuǎn)化為浮點(diǎn)型 double 5.0*10-3241.7*10308 System.Double ouble x=5.0,y = 3d; /希望整數(shù)被視為 double,使用后綴 d 或 Ddecimal 1.0*1028 7.9*1028 System.Decimal decimal myMoney = 300.5m; /希望實(shí)數(shù)被視為希望實(shí)數(shù)被視為 decimal 類型,則使類型,則使用后綴用后綴 m 或或 M布爾型布爾型取值范圍取值范圍 .NET框架基類框架基類 初始化初始化BoolTrue 和 falseSystem.Booleanbool test=true,f

11、lag=(100=、=、= 位與、位或、右移、左移、異或賦值 整型或字符型 整型或字符型 l(3)關(guān)系表達(dá)式 =、!=、=等操作符稱為關(guān)系操作符。用關(guān)系操作符把運(yùn)算對(duì)象連接起來并符合C#語法的式子稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式要么返回true要么返回false。 l(4)邏輯表達(dá)式 &(and)、|(or)和!(not)操作符稱為邏輯操作符。用邏輯操作符把運(yùn)算對(duì)象連接起來并符合C#語法的式子稱為邏輯表達(dá)式。6.1.5 C#控制語句控制語句lC#中控制語句主要包括分支和循環(huán)語句。l分支語句有3種: 1)三元運(yùn)算符,例如: a=(b5)?100:10表示b5時(shí)a=100,否則a=10; 2)i

12、f語句;3)switch語句。l循環(huán)語句有4種: 1)已知步長的for語句;2)foreach語句; 3)while語句; 4)do while語句。 它們的語法結(jié)構(gòu)如表6-4所示。其中switch語句可一次將測(cè)試變量與多個(gè)值比較,而if僅僅測(cè)試一個(gè)條件。對(duì)于循環(huán)語句可用break和continue語句決定是否跳出循環(huán)或繼續(xù)執(zhí)行循環(huán)。foreach語句可以遍歷一個(gè)集合中的所有元素。If Switch For while foreach do while if() else switch(控制表達(dá)式) case 測(cè)試值1:語句1break;case測(cè)試值2:語句2break;default: 默

13、認(rèn)語句break; for(int i=0;i10;i+) int i=0;while(i10) i+; char person=new char0,1,2,3;foreach(char i in person) if(i=1) else if(i=2) else do 內(nèi)嵌語句 while(循環(huán)控制條件) 6.1.6 C#類聲明類聲明 類是一種將數(shù)據(jù)成員、函數(shù)成員和嵌套類型等進(jìn)行封裝的數(shù)據(jù)結(jié)構(gòu)。它在面向?qū)ο蠡A(chǔ)上引入了接口、屬性、方法、事件等組件特性。其數(shù)據(jù)成員可以是常量或域,函數(shù)成員可以是方法、屬性、索引、事件、操作符或靜態(tài)構(gòu)造函數(shù)和析構(gòu)函數(shù)。構(gòu)造函數(shù)在創(chuàng)建對(duì)象時(shí)被自動(dòng)調(diào)用,用來執(zhí)行對(duì)象的

14、初始化操作,其函數(shù)名總是與類名相同。析構(gòu)函數(shù)在釋放對(duì)象時(shí)被調(diào)用,用來刪除對(duì)象前做一些清理工作。 類的訪問修飾符有五種可能形式,如下表所示:public: 對(duì)任何類和成員都公開, 無限制訪問;protected: 僅僅對(duì)該類以及該類的派生類公開;private: 僅僅對(duì)該類公開;internal: 只能值包含該類的程序集中訪問該類(只是單獨(dú)的項(xiàng)目,而不是整個(gè) 解決方案);protected internal: 只能在本類,派生類或者包含該類的程序集中訪問. 下面簡要介紹類成員的有關(guān)概念。下面簡要介紹類成員的有關(guān)概念。(1)常數(shù) 一個(gè)常數(shù)是一個(gè)代表常數(shù)值的類成員即某個(gè)可以在編譯時(shí)計(jì)算的數(shù)值。只 要

15、沒有循環(huán)從屬關(guān)系,允許常數(shù)依賴同一程序中的其他常數(shù)。(2)域(字段) 域是一個(gè)代表和某對(duì)象或類相關(guān)的變量的成員。域也叫成員變量,它表示存儲(chǔ)位置,用來保存類的各種數(shù)據(jù)信息。域可以是靜態(tài)的。只讀域 可以用來避免錯(cuò)誤的發(fā)生。對(duì)于一個(gè)只讀域的賦值,只會(huì)在相同類中的部 分聲明和構(gòu)造函數(shù)中發(fā)生。(3)方法 方法是一個(gè)執(zhí)行可以由對(duì)象或類完成的計(jì)算或行為的成員。方法有一個(gè)形 式參數(shù)列表(可能為空),一個(gè)返回?cái)?shù)值(或void),并且可以是靜態(tài)也 可以是非靜態(tài)。靜態(tài)方法要通過類來訪問。非靜態(tài)方法,也稱為實(shí)例方 法,通過類的實(shí)例來訪問。 方法可以被重復(fù)調(diào)用,這意味著只要有一個(gè)唯一的簽名,多個(gè)方法可能有 相同的名稱。

16、方法的簽名包括方法、數(shù)據(jù)、修飾符和它的形式參數(shù)的各種 類型的名稱。方法的簽名不包括return類型。 (4)屬性 屬性是提供對(duì)對(duì)象或類的特性進(jìn)行訪問的成員。屬性的例子包括字符串的長度、字體的大小、窗口的焦點(diǎn)、用戶的名字等等。屬性是域的自然擴(kuò)展。兩者都是用相關(guān)類型成員命名,并且訪問域和屬性的語法是相同的。然而,與域不同,屬性不指示存儲(chǔ)位置。作為替代,屬性有存取程序,它指定聲明的執(zhí)行來對(duì)它們進(jìn)行讀或?qū)憽?屬性是由屬性聲明定義的。屬性聲明的第一部分看起來和域聲明相當(dāng)相似。第二部分包括一個(gè)get存取程序和一個(gè)set存取程序。(5) 事件 事件是使得對(duì)象和類提供通知的成員。一個(gè)類通過提供事件聲明來定義一

17、個(gè)事件,這看起來與域和事件聲明相當(dāng)類似,但是有一個(gè)event關(guān)鍵字。這個(gè)聲明的類型必須是delegate類型。 (6) 操作符 操作符是一個(gè)定義了可以用來使用在類的實(shí)例上的表達(dá)式。(7) 索引器 索引器(indexer)是使得對(duì)象可以像數(shù)組一樣被索引的成員。屬性使類似域的訪問變得可能,索引器使得類似數(shù)組的訪問變得可能。索引器的聲明類似于屬性的聲明,最大的不同在于索引器是無名的(由于this是被索引,所以用于聲明中的名稱是this)。class或struct只允許定義一個(gè)索引器,而且索引器總是包含單個(gè)索引參數(shù)。索引參數(shù)在一對(duì)方括號(hào)中提供,用于指定要訪問的元素。(8) 實(shí)例構(gòu)造函數(shù) 實(shí)例構(gòu)造函數(shù)是

18、實(shí)現(xiàn)對(duì)類中實(shí)例進(jìn)行初始化的行為的成員,是一種特殊的方法。它與類同名,能獲取參數(shù),但不能返回任何值。每個(gè)類都必須至少有一個(gè)構(gòu)造函數(shù)。如果類中沒有提供構(gòu)造函數(shù),那么編譯器會(huì)自動(dòng)提供一個(gè)沒有參數(shù)的默認(rèn)構(gòu)造函數(shù)。(9)析構(gòu)函數(shù) 析構(gòu)函數(shù)(destructor)是實(shí)現(xiàn)破壞一個(gè)類的實(shí)例的行為的成員。析構(gòu)函數(shù)完成對(duì)象被垃圾回收時(shí)需要執(zhí)行的整理工作,在碎片收集時(shí)會(huì)被自動(dòng)調(diào)用。在C#中,沒有提供一個(gè)delete操作符,由運(yùn)行庫控制何時(shí)摧毀一個(gè)對(duì)象。析構(gòu)函數(shù)的語法是首先寫一個(gè)符號(hào),然后跟上類名。析構(gòu)函數(shù)不能有參數(shù),不能帶任何訪問修飾符(比如public),而且不能被調(diào)用。不能在一個(gè)struct中聲明一個(gè)析構(gòu)函數(shù)。

19、(10)靜態(tài)構(gòu)造函數(shù) 靜態(tài)構(gòu)造函數(shù)是實(shí)現(xiàn)對(duì)一個(gè)類進(jìn)行初始化的行為的成員。靜態(tài)構(gòu)造函數(shù)不能有參數(shù),不能有修飾符而且不能被調(diào)用,當(dāng)類被加載時(shí),類的靜態(tài)構(gòu)造函數(shù)自動(dòng)被調(diào)用。(11)繼承 繼承(Inheritance)是面向?qū)ο蟮囊粋€(gè)關(guān)鍵概念,它描述了類之間的一 種關(guān)系。 假如多個(gè)不同的類具有大量通用的特性,而且這些類相互之間的關(guān)系非常清晰,那么使用繼承就能避免大量重復(fù)的工作。類支持單繼承,System.Object類是所有類的基類。所有類都是隱式地從System.Object類派生而來的。 方法、屬性和索引器都可以是虛擬(virtual)的,這意味著他們可以在派生的類中被覆蓋(override)???/p>

20、以通過使用abstract關(guān)鍵字來說明一個(gè)類是不完整的,只是用作其他類的基類。這樣的類被稱為抽象類。抽象類可以指定抽象函數(shù)非抽象派生類必須實(shí)現(xiàn)的成員。(12)接口 接口定義了一個(gè)連接。一個(gè)類或結(jié)構(gòu)必須根據(jù)它的連接來實(shí)現(xiàn)接口。接口可以把方法、屬性、索引器和事件作為成員。類和結(jié)構(gòu)可以實(shí)現(xiàn)多個(gè)接口。因?yàn)橥ㄟ^外部指派接口成員實(shí)現(xiàn)了每個(gè)成員,所以用這種方法實(shí)現(xiàn)的成員稱為外部接口成員。外部接口成員可以只是通過接口來調(diào)用。(13)委派 委派(delegates)是指向一個(gè)方法的指針。委派與C+中的函數(shù)指針相似,與函數(shù)指針不同委派是類型安全并且可靠的。 委派是引用類型,它從公共基類:System.Delega

21、te派生出來。一個(gè)委派實(shí)例壓 縮了一個(gè)方法-可調(diào)用的實(shí)體。對(duì)于靜態(tài)方法,一個(gè)可調(diào)用實(shí)體由類和類中的 靜態(tài)方法組成。 委派的一個(gè)有趣而且有用的特性是它不知道或不關(guān)心與它相關(guān)的對(duì)象的類型。對(duì)象所要做的所有事情是方法的簽名和委派的簽名相匹配,這使得委派很適合“匿名”調(diào)用,而這是個(gè)很有用的功能。 定義和使用委派分為三步:聲明、實(shí)例化和調(diào)用。用delegate聲明語法來聲明委派: delegate void SimpleDelegate();聲明了一個(gè)名為SimpleDelegate的委派,它沒有任何參數(shù)并且 返回類型為void。(14)枚舉 枚舉類型的聲明為一個(gè)符號(hào)常數(shù)相關(guān)的組定義了一個(gè)類型名稱。枚舉

22、應(yīng)用于“多選擇”的場合,運(yùn)行時(shí)間是由在編譯時(shí)所知道的固定的選擇數(shù)目所決定。因?yàn)槭褂妹杜e可以使代碼更可讀還可以自歸檔,所以使用枚舉比使用整數(shù)常數(shù)要好。代碼的自歸檔特點(diǎn)也使得開發(fā)工具可以幫助編寫代碼和進(jìn)行一些其他的“設(shè)計(jì)者”行為。 在本小節(jié)最后,我們給出一個(gè)范例 本店經(jīng)營各類毛絨玩具禮品、公仔、靠墊、掛件等本店經(jīng)營各類毛絨玩具禮品、公仔、靠墊、掛件等等,支持批發(fā)零售,歡迎來樣看樣定做生產(chǎn)。為了賺人等,支持批發(fā)零售,歡迎來樣看樣定做生產(chǎn)。為了賺人氣,本店所有商品批發(fā)價(jià)銷售,超低秒殺!雖然我們的氣,本店所有商品批發(fā)價(jià)銷售,超低秒殺!雖然我們的信譽(yù)不高,但我們會(huì)以誠信為本,為您提供質(zhì)高價(jià)廉的信譽(yù)不高,但

23、我們會(huì)以誠信為本,為您提供質(zhì)高價(jià)廉的商品和優(yōu)質(zhì)的服務(wù)!祝您購物愉快!商品和優(yōu)質(zhì)的服務(wù)!祝您購物愉快! 歡迎大家來逛逛歡迎大家來逛逛【揚(yáng)州五亭龍玩具總動(dòng)員揚(yáng)州五亭龍玩具總動(dòng)員】 個(gè)人小廣告:個(gè)人小廣告:6.2 常用ASP.NET控件的使用ASP.NET控件主要分為以下八類,如表所示序號(hào) 控件分類 功能描述 1Web標(biāo)準(zhǔn)控件 和界面設(shè)計(jì)制作有關(guān)的控件 2數(shù)據(jù)控件 數(shù)據(jù)訪問、操作以及數(shù)據(jù)可視化方面控件 3驗(yàn)證控件 對(duì)用戶輸入的內(nèi)容進(jìn)行驗(yàn)證的控件4導(dǎo)航控件提供站點(diǎn)導(dǎo)航、動(dòng)態(tài)菜單、樹型菜單的控件5登錄控件用戶登錄界面的設(shè)計(jì)制作控件6Web PARTS控件Web門戶定制控件。用戶可以拖動(dòng)某一區(qū)域在屏幕上重

24、新布局7HTML控件HTML中的常規(guī)控件8CRYSTALREPORTS控件提供Web頁面上的報(bào)表處理6.2.1服務(wù)器端標(biāo)準(zhǔn)控件(1) Label和和Literal控件控件 使用 Label 控件在網(wǎng)頁的設(shè)置位置上顯示文本,可以通過 Text 屬 性自定義顯示文本。Text屬性中可以包含其他HTML元素。 Literal 控件和Label控件類似,但它不可向文本中添加任何 HTML 元素。因此,Literal 控件不支持包括位置屬性在內(nèi)的任何樣式屬 性。轉(zhuǎn)換成客戶端HTML代碼后,Literal則是什么標(biāo)記都不帶,但 Literal 控件允許指定是否對(duì)內(nèi)容進(jìn)行編碼。通常情況下,當(dāng)希望 文本和控件

25、直接呈現(xiàn)在頁面中而不使用任何附加標(biāo)記時(shí),可使用 Literal 控件。(2) TextBox文本框控件文本框控件 該控件用于獲取用戶輸入的文本或顯示文本。Text控件常用的 屬性如下表所示。 序號(hào)序號(hào)屬性屬性描述描述1Columns以字符為單位的文本框的寬度2MaxLength文本框中可輸入的最大字符數(shù)3TextMode確定文本框的行為模式是單行文本框、多行文本框還是密碼編輯框4Rows設(shè)置多行文本框顯示的行數(shù)。該屬性僅對(duì)多行文本框起作用。5MaxLength該屬性是int類型值,用于設(shè)置TextBox控件中鍵入的最大字符數(shù)。6ReadOnly該屬性為bool類型值,用于設(shè)置TextBox控件

26、中的內(nèi)容是否為只讀。7Text該屬性為string類型值,用于獲取或設(shè)置TextBox控件中的文本。(3)Image控件控件 該控件是用來插入圖片的,常用的屬性如下表所示。序號(hào)序號(hào)屬性屬性描述描述1AlternateText在圖片不存在或尚未下載完的時(shí)候顯示替換的文本。2DescriptionUrl指定更詳細(xì)圖像說明的URL。 3ImageAlign該屬性用于設(shè)置或獲取Image控件與網(wǎng)頁其他對(duì)象的對(duì)齊方式。例如左對(duì)齊、右對(duì)齊、基底、頂端、中間等。4ImageUrl獲取或設(shè)置圖片來源的相對(duì)或絕對(duì)位置。(4)BUTTON、LINKBUTTON、IMAGEBUTTON控件控件 這三個(gè)控件分別表示普

27、通按鈕、超鏈接形式的按鈕和圖像按鈕。每當(dāng)用戶單擊按鈕時(shí),即調(diào)用CLICK事件處理程序。這三個(gè)控件常用的屬性如下表所示。序號(hào)序號(hào)屬性屬性描述描述1ONCLIENTCLICK輸入客戶端代碼,以便單擊按鈕后先在客戶端執(zhí)行此代碼后再執(zhí)行服務(wù)器端的響應(yīng)事件。例如輸入ALERT(OK)后,先顯示一個(gè)對(duì)話框后,在執(zhí)行服務(wù)器端事件程序。2COMMANDNAME為該按鈕設(shè)定一個(gè)關(guān)聯(lián)命令。3COMMANDARGUMENT為該按鈕設(shè)定一個(gè)關(guān)聯(lián)命令的參數(shù)。CommandName、CommandArgument 使用范例使用范例(5)HyperLink控件控件 該控件用于制作文本或圖片超級(jí)鏈接。常用的屬性下表所示。序號(hào)

28、序號(hào)屬性屬性描述描述1ImageUrl該屬性用于獲取或設(shè)置HyperLink控件鏈接源的來源,若設(shè)置它的屬性,表示HyperLink控件為圖片超鏈接。2NavigateUrl獲取或設(shè)置HyperLink控件鏈接的網(wǎng)頁或網(wǎng)址。3Target獲取或設(shè)置HyperLink控件被點(diǎn)擊時(shí),其所鏈接的網(wǎng)頁將在哪個(gè)框架或窗口打開。(用于框架網(wǎng)頁)(6)RadioButton單選按鈕單選按鈕 該控件為用戶提供由兩個(gè)或多個(gè)互斥選項(xiàng)組成的選項(xiàng)集。當(dāng)用戶選擇某單選按鈕時(shí),同一組中的其他單選按鈕不能同時(shí)被選定。當(dāng)單擊RadionButton按鈕時(shí),其Checked屬性設(shè)置為true,并且調(diào)用Click事件處理程序。當(dāng)

29、Checked屬性的值更改時(shí),將引發(fā)CheckedChanged事件。用戶可以通過用Text屬性設(shè)置控件內(nèi)顯示的文本。RadioButton控件常用的屬性如下表所示。序號(hào)序號(hào)屬性屬性描述描述1GroupName將多個(gè)單選鈕指定為同一組的組名。這樣就構(gòu)成了互斥選項(xiàng)。2Checked該屬性為bool類型,用于確定某一個(gè)單選按鈕是否被選中。3TextAlign文本標(biāo)簽的對(duì)齊方式。(7)CheckBox復(fù)選框復(fù)選框 該控件通常是成組使用來完成多重選項(xiàng)的目的, Checkbox控件常用的屬性如表所示 。序號(hào)序號(hào)屬性屬性描述描述1Checked該屬性為bool類型,用于確定某一個(gè)復(fù)選按鈕是否被選中。2Te

30、xt該屬性是string類型值,用于設(shè)置與復(fù)選按鈕相關(guān)的標(biāo)簽。3TextAlign文本標(biāo)簽的對(duì)齊方式。CheckBox控件控件 使用范例使用范例(8)DropDownList控件控件 DropDownList控件使用戶可以從下拉列表框中進(jìn)行選擇。DropDownList控件常用屬性及說明如下表所示。序號(hào)序號(hào)屬性屬性說明說明1DataSource獲取或設(shè)置對(duì)象數(shù)據(jù)源2DataTextField獲取或設(shè)置為列表項(xiàng)提供文本內(nèi)容的數(shù)據(jù)源字段3DataValueField獲取或設(shè)置為各列表項(xiàng)提供值的數(shù)據(jù)源字段4SelectedIndex獲取或設(shè)置DropDownList控件中的選定項(xiàng)的索引5Select

31、edItem獲取列表控件中索引最小的選定項(xiàng)6SelectedValue獲取列表空間中選定項(xiàng)的值7Text獲取或設(shè)置DropDownList空間的SelectedValue屬性DropDownList控件使用范例控件使用范例 (9)ListBox列表框列表框 列表框通過顯示多個(gè)選項(xiàng)供用戶選擇達(dá)到與用戶對(duì)話的目的。ListBox控件常用的屬性如下表所示。序號(hào)序號(hào)屬性屬性描述描述1DataSource為ListBox控件設(shè)置數(shù)據(jù)源。2SelectIndexint類型值,用于指示ListBox控件當(dāng)前選中的索引值。注意索引是從0開始的。3SelectedItemObject類型值,用于指示ListBo

32、x控件當(dāng)前選中的項(xiàng),它與SelectIndex屬性的區(qū)別在于,SelectIndex表示當(dāng)前選中項(xiàng)的索引,而SelectItem表示的是當(dāng)前選中項(xiàng)本身。4SelectedValue返回列表控件中選定項(xiàng)的值。(10)FileUpload文件上載控件文件上載控件 該控件可實(shí)現(xiàn)讓用戶在客戶端選擇一個(gè)文件,然后放到Web服務(wù)器的某個(gè)指定的文件夾下。 FileUpload文件上載控件使用范例 (11) Panel和和Placeholder控件控件 Panel和Placeholder控件都屬于容器控件。容器控件是指該控件可以動(dòng)態(tài)容納其他控件或HTML元素。要在運(yùn)行時(shí)刻向Web頁面中動(dòng)態(tài)添加內(nèi)容,利用容器控

33、件即可實(shí)現(xiàn)動(dòng)態(tài)添加內(nèi)容到Web頁中。 Panel 和 Placeholder 控件(占位控件)轉(zhuǎn)換成客戶端HTML代碼后,呈現(xiàn)為 div 元素。Placeholder Web 服務(wù)器控件可以將空的容器控件放置到頁內(nèi),然后在運(yùn)行時(shí)動(dòng)態(tài)添加、刪除子元素等。該控件只呈現(xiàn)其子元素,不具有自己的基于 HTML 的輸出。 Panel服務(wù)器控件最終在客戶端呈現(xiàn)為div元素,但在Web開發(fā)時(shí)允許用戶在該控件中添加其他控件,而且在運(yùn)行過程中也允許動(dòng)態(tài)添加控件。6.2.2 服務(wù)器端驗(yàn)證控件服務(wù)器端驗(yàn)證控件 服務(wù)器端驗(yàn)證控件是ASP.NET控件中新產(chǎn)生的一類驗(yàn)證控件。當(dāng)用戶輸入錯(cuò)誤時(shí),驗(yàn)證控件可以顯示錯(cuò)誤信息。驗(yàn)證

34、控件在正常工作情況下是不可見的,只有當(dāng)用戶輸入數(shù)據(jù)有誤時(shí),它們才是可見的。在具體介紹每個(gè)控件之前先了解一下它們的公共屬性。驗(yàn)證控件的公共屬性如下表所示。序號(hào)序號(hào)屬性屬性名稱說明名稱說明1ControlToValidate指定一個(gè)控件ID,該控件需要進(jìn)行輸入驗(yàn)證。2ErrorMessage用來顯示錯(cuò)誤信息。3ForeColor指定錯(cuò)誤信息顯示時(shí)的顏色。4Display指定驗(yàn)證控件的錯(cuò)誤信息如何顯示。Display=static,即靜態(tài)顯示方式(系統(tǒng)默認(rèn)方式)。當(dāng)驗(yàn)證控件初始化時(shí),需要在網(wǎng)頁上有足夠的空間來放置驗(yàn)證控件。當(dāng)沒有顯示錯(cuò)誤信息時(shí),驗(yàn)證控件仍然占據(jù)一定的網(wǎng)頁位置。Display=Dyna

35、mic,即動(dòng)態(tài)顯示方式。當(dāng)驗(yàn)證控件初始化時(shí),控件不再占有網(wǎng)頁上的位置,只有在需要顯示錯(cuò)誤信息時(shí),控件才會(huì)占有一定的網(wǎng)頁位置。Display=None,即不在當(dāng)前驗(yàn)證控件中顯示錯(cuò)誤信息,而在頁面的總結(jié)驗(yàn)證控件ValidationSummary中顯示錯(cuò)誤信息。5EnableClientScript是否啟動(dòng)客戶端驗(yàn)證,默認(rèn)為true。若為false則啟動(dòng)Web服務(wù)器來驗(yàn)證。采用客戶端驗(yàn)證可得到較快的處理速度。服務(wù)器端驗(yàn)證控件包含RequiredFieldValidator、RangeValidator、RegularExpressionValidator、CompareValidator、Custo

36、mValidator、ValidationSummary六種驗(yàn)證控件。(1)RequiredFieldValidator控件控件 該控件又稱非空驗(yàn)證控件,常用于文本輸入框的非空驗(yàn)證。若在網(wǎng)頁上 使用此控件,則當(dāng)用戶提交網(wǎng)頁到服務(wù)器端時(shí),系統(tǒng)自動(dòng)檢查被驗(yàn)證控件的輸入是否為空。如果為空,則網(wǎng)頁顯示錯(cuò)誤信息。(2)RangeValidator控件控件 該控件又稱范圍驗(yàn)證控件。當(dāng)用戶輸入不在驗(yàn)證范圍內(nèi)的值時(shí)將印發(fā)頁 面錯(cuò)誤。該控件提供Integer、String、Date、Double和Currency五種驗(yàn)證。(3)RegularExpressionValidator控件控件 該控件又稱正則表達(dá)式驗(yàn)

37、證控件,它的驗(yàn)證功能比非空驗(yàn)證控件和范圍 驗(yàn)證控件更強(qiáng)大,用戶可以自定義或書寫自己的驗(yàn)證表達(dá)式。 (4)CompareValidator控件控件 該控件又稱比較驗(yàn)證控件,主要用來驗(yàn)證TextBox控件內(nèi)容或者某個(gè)控件的內(nèi)容與某個(gè)固定表達(dá)式的值是否相同。 (5)CustomValidator控件控件 該控件又稱自定義控件,它使用自定義的嚴(yán)整函數(shù)來使用驗(yàn)證方式。 CustomValidator控件與其他驗(yàn)證控件的最大區(qū)別是該控件可以添加客戶端驗(yàn)證 函數(shù)和服務(wù)器端驗(yàn)證函數(shù)??蛻舳蓑?yàn)證函數(shù)總是在ClientValidatorFunction屬性 中指定的,而服務(wù)器端驗(yàn)證函數(shù)總是通過OnServerVa

38、lidate屬性來設(shè)定,并指定為ServerValidate事件處理程序。(6)ValidationSummary控件控件 該控件又稱錯(cuò)誤總結(jié)控件,主要是收集本頁中所有驗(yàn)證錯(cuò)誤信息,并將它們組織好后顯示出來。 6.2.3 服務(wù)器控件使用注意事項(xiàng)服務(wù)器控件使用注意事項(xiàng)l使用VS2005進(jìn)行Web開發(fā)的初學(xué)者很容易產(chǎn)生對(duì)服務(wù)器控件的依賴性,幾乎所有Web頁面都采用服務(wù)器控件,HTML控件(客戶端控件)被束之高閣,當(dāng)然這是一種簡便的編程方法,但卻是一種不考慮運(yùn)行效率的做法。我們?cè)诒竟?jié)開頭已介紹了客戶端控件和服務(wù)器控件的區(qū)別。服務(wù)器控件意味著要消耗更多的網(wǎng)絡(luò)帶寬和服務(wù)器資源,而客戶端控件的處理邏輯全部

39、在瀏覽器中進(jìn)行。因此不能養(yǎng)成使用服務(wù)器控件的習(xí)慣性思維,在使用控件的時(shí)候有必要思考一下采用客戶端控件的可能性。6.2.4 服務(wù)器端數(shù)據(jù)訪問控件 數(shù)據(jù)訪問控件根據(jù)所實(shí)現(xiàn)的功能分為兩大類:數(shù)據(jù)源控件和數(shù)據(jù)綁定控 件。數(shù)據(jù)源控件可實(shí)現(xiàn)對(duì)不同數(shù)據(jù)源的數(shù)據(jù)訪問,數(shù)據(jù)綁定控件主要用于以 多種方式顯示數(shù)據(jù)。數(shù)據(jù)源控件和數(shù)據(jù)綁定控件如下表所示。 控件名稱控件名稱說明說明數(shù)據(jù)源控件 SqlDataSource用于連接SQL數(shù)據(jù)庫,可以用來從任何OLEDB 或者符合ODBC的數(shù)據(jù)源中檢索數(shù)據(jù),能夠訪問目前主流的數(shù)據(jù)庫系統(tǒng)。AccessDataSource用于連接Access數(shù)據(jù)庫,允許以聲明方式將Access數(shù)據(jù)

40、庫中的數(shù)據(jù)綁定到指定對(duì)象中。ObjectDataSource用于連接自定義對(duì)象,允許以聲明方式將對(duì)象綁定到自定義對(duì)象公開的數(shù)據(jù),以用于多層Web應(yīng)用結(jié)構(gòu)。XmlDataSource該控件可裝載XML文件作為數(shù)據(jù)源,并將其綁定到指定的對(duì)象中。SiteMapDataSource該控件裝載一個(gè)預(yù)先定義好的站點(diǎn)布局文件作為數(shù)據(jù)源,Web服務(wù)器控件和其他控件可通過該控件綁定到分層站點(diǎn)地圖數(shù)據(jù),以便制作站點(diǎn)的頁面導(dǎo)航功能。(接上表接上表)數(shù)據(jù)綁定控件 Repeater自由地控制數(shù)據(jù)的顯示。即可以使用非表格的形式來顯示數(shù)據(jù),從而能夠更靈活地定義其顯示的風(fēng)格。GridView.NET強(qiáng)大功能的數(shù)據(jù)控件,不需要

41、編寫代碼就可實(shí)現(xiàn)數(shù)據(jù)的連接、綁定、編輯、刪除、增加等功能。DataList通過定義模板或樣式來靈活地顯示數(shù)據(jù)。DetailsView用于顯示表中數(shù)據(jù)源的單個(gè)記錄,其中每個(gè)數(shù)據(jù)行表示記錄中的一個(gè)字段。該控件通常與 GridView 控件組合使用,構(gòu)成主-從方案。FormView用于顯示表中數(shù)據(jù)源的單個(gè)記錄。使用 FormView 控件時(shí),由您指定模板以顯示和編輯綁定值。模板中包含用于創(chuàng)建窗體的格式、控件和綁定表達(dá)式。FormView 控件通常與 GridView 控件一起用于主控/詳細(xì)信息方案。ReportViewer用于顯示報(bào)表、工具欄和文檔結(jié)構(gòu)圖的視圖區(qū)域。工具欄是可配置的,它提供了運(yùn)行時(shí)功

42、能以支持多頁報(bào)表中的導(dǎo)航、縮放、搜索、打印和導(dǎo)出功能。提供編程接口,以便可以自定義控件、配置控件,以及通過代碼與控件進(jìn)行交互,包括更改在運(yùn)行時(shí) ReportViewer 使用的數(shù)據(jù)源。 數(shù)據(jù)源控件分為兩種: 普通數(shù)據(jù)源控件和層次化數(shù)據(jù)源控件(樹型結(jié)構(gòu))。 普通數(shù)據(jù)源控件包括SqlDataSource、ObjectDataSource、AccessDataSource主要檢索帶有行和列的基于數(shù)據(jù)表的數(shù)據(jù)源;層次化數(shù)據(jù)源控件包括XmlDataSource和 SiteMapDataSource,主要檢索包含層次化數(shù)據(jù)的數(shù)據(jù)源。(1)SqlDataSource控件控件 SqlDataSource控件可

43、以用來從任何OLEDB 或者符合ODBC的數(shù)據(jù)源中檢索數(shù)據(jù),能夠訪問目前主流的數(shù)據(jù)庫系統(tǒng)。該控件常用的屬性及說明如下表所示。 數(shù)據(jù)源控件序序號(hào)號(hào)屬性屬性說明說明1ConnectionString用于設(shè)置連接數(shù)據(jù)源字符串2ProviderName用于設(shè)置不同的數(shù)據(jù)提供程序,未設(shè)置該屬性,則默認(rèn)為System.Data.SqlClient3SelectCommand執(zhí)行數(shù)據(jù)記錄選擇操作的SQL語句或者存儲(chǔ)過程名稱4UpdateCommand執(zhí)行數(shù)據(jù)記錄更新操作的SQL語句或者存儲(chǔ)過程名稱5DeleteCommand執(zhí)行數(shù)據(jù)記錄刪除操作的SQL語句或者存儲(chǔ)過程名稱6InsertComm

44、and執(zhí)行數(shù)據(jù)記錄添加操作的SQL語句或者存儲(chǔ)過程名稱7DataSourceMode用于獲取或設(shè)置SqlDataSource控件獲取數(shù)據(jù)時(shí)所使用的數(shù)據(jù)返回模式,包含2個(gè)可選枚舉值:DataReader和DataSet(2)AccessDataSource控件 AccessDataSource 是.NET提供了一種訪問Access數(shù)據(jù)庫的專用數(shù)據(jù)源控件,該控件能夠快速連接Access數(shù)據(jù)庫,并且通過SQL語句等對(duì)數(shù)據(jù)庫記錄實(shí)現(xiàn)操作。該控件常用的屬性及說明如下表所示。 序號(hào)序號(hào)屬性屬性說明說明1DataFile該屬性用于指定Access文件的虛擬路徑2ProviderName用于設(shè)置不同的數(shù)據(jù)提供

45、程序,未設(shè)置該屬性,則默認(rèn)為System.Data.OleDb3SelectCommand執(zhí)行數(shù)據(jù)記錄選擇操作的SQL語句或者存儲(chǔ)過程名稱4UpdateCommand執(zhí)行數(shù)據(jù)記錄更新操作的SQL語句或者存儲(chǔ)過程名稱5DeleteCommand執(zhí)行數(shù)據(jù)記錄刪除操作的SQL語句或者存儲(chǔ)過程名稱6InsertCommand執(zhí)行數(shù)據(jù)記錄添加操作的SQL語句或者存儲(chǔ)過程名稱7DataSourceMode用于獲取或設(shè)置SqlDataSource控件獲取數(shù)據(jù)時(shí)所使用的數(shù)據(jù)返回模式,包含2個(gè)可選枚舉值:DataReader和DataSet(3)ObjectDataSource控件 多數(shù) ASP.NET 數(shù)據(jù)源

46、控件,如 SqlDataSource等,都在兩層應(yīng)用程序?qū)哟谓Y(jié)構(gòu)中使用。在該層次結(jié)構(gòu)中,表示層(ASP.NET 網(wǎng)頁)可以與數(shù)據(jù)層(數(shù)據(jù)庫和XML 文件等)直接進(jìn)行通信。但是,常用的應(yīng)用程序設(shè)計(jì)原則是,將表示層與業(yè)務(wù)邏輯相分離,而將業(yè)務(wù)邏輯封裝在業(yè)務(wù)對(duì)象中。這些業(yè)務(wù)對(duì)象在表示層和數(shù)據(jù)層之間形成一層,從而生成一種三層應(yīng)用程序結(jié)構(gòu)。ObjectDataSource 控件通過提供一種將相關(guān)頁上的數(shù)據(jù)控件綁定到中間層業(yè)務(wù)對(duì)象的方法,為三層結(jié)構(gòu)提供支持。 在不使用擴(kuò)展代碼的情況下,ObjectDataSource 使用中間層業(yè)務(wù)對(duì)象以聲明方式對(duì)數(shù)據(jù)執(zhí)行選擇、插入、更新、刪除、分頁、排序、緩存和篩選操作。

47、 ObjectDataSource 控件使用反射調(diào)用業(yè)務(wù)對(duì)象的方法,以對(duì)數(shù)據(jù)執(zhí)行選擇、更新、插入和刪除操作。設(shè)置 ObjectDataSource 控件的 TypeName 屬性來指定要用作源對(duì)象的類名稱。 (3)XmlDataSource控件 XmlDataSource控件是專門針對(duì)XML數(shù)據(jù)而發(fā)布的數(shù)據(jù)源控件。該控件常用的屬性及說明如下表所示。序號(hào)序號(hào)屬性屬性說明說明1DataFile該屬性用于獲取或設(shè)置控件所綁定的xml文件。2TransformFilexml轉(zhuǎn)換文件的路徑,即xsl文件。3XPath該屬性用于獲取或設(shè)置應(yīng)用于XML數(shù)據(jù)中的Xpath查詢值,默認(rèn)值為空。Xpath是一種查

48、詢語言,用于檢索XML文檔中包含的信息(4) SiteMapDataSource控件 SiteMapDataSource 控件用來連接包含來自站點(diǎn)地圖的導(dǎo)航數(shù)據(jù)。此數(shù)據(jù)包括有關(guān)網(wǎng)站中的頁的信息,如 URL、標(biāo)題、說明和導(dǎo)航層次結(jié)構(gòu)中的位置。該控件的使用較為復(fù)雜,有興趣的讀者可參閱其他專門書籍。 數(shù)據(jù)綁定控件(1)GridView控件控件 GridView控件采用表格形式顯示從數(shù)據(jù)庫中獲取的數(shù)據(jù)集合。通過使用GridView控件,用戶可以顯示、編輯、刪除、排序和翻閱多種不同的數(shù)據(jù)源中的表格數(shù)據(jù)。該控件常用的屬性及說明如下表所示。序號(hào)序號(hào)屬性屬性說明說明1AllowPaging獲取或

49、設(shè)置是否啟用分頁功能2AllowSorting獲取或設(shè)置是否啟用排序功能3Columns獲取表示GridView控件中列字段的DataControlField對(duì)象集合4DataMember當(dāng)數(shù)據(jù)源包含多個(gè)不同的數(shù)據(jù)項(xiàng)列表時(shí),獲取或設(shè)置數(shù)據(jù)綁定控件綁定到的數(shù)據(jù)列表名稱5DataSource獲取或設(shè)置數(shù)據(jù)綁定對(duì)象的數(shù)據(jù)源6DataSourceID獲取或設(shè)置空間的ID,數(shù)據(jù)綁定控件從該控件中檢索其數(shù)據(jù)項(xiàng)列表7EditIndex獲取或設(shè)置要編輯的項(xiàng)的索引8GridLines獲取或設(shè)置GridView控件的網(wǎng)格線樣式9PageIndex獲取或設(shè)置當(dāng)前顯示頁的索引10Rows獲取表示GridView控件中

50、數(shù)據(jù)行的GridViewRow對(duì)象的集合11SelectedIndex獲取或設(shè)置GridView控件中的選中行的索引12SelectedRow獲取對(duì)GridViewRow對(duì)象的引用13SelectedValue獲取GridView控件中選中行的數(shù)據(jù)鍵值GridView控件使用范例控件使用范例 (2)Repeater控件控件 數(shù)據(jù)綁定控件Repeater的主要功能是以更自由的方式來控制數(shù)據(jù)的顯示。它會(huì)按照所要求的樣式嚴(yán)格地輸出數(shù)據(jù)記錄。 Repeater 控件使用范例(3)DataList控件控件 DataList服務(wù)器控件使用模板和樣式來顯示數(shù)據(jù)。它需要連接到某個(gè)數(shù)據(jù)源控件,實(shí)現(xiàn)不同布局的數(shù)據(jù)

51、顯示。DataList控件所支持的模板類型類似于Reapter控件,但增加了編輯和選擇模板。編輯模板可用來刪除和修改記錄;選擇模板可用來處理選中某個(gè)記錄后的顯示方式。模板類型如下表所示。模板屬性模板屬性說明說明HeaderTemplate頁頭模板容納數(shù)據(jù)列表開始處需要呈現(xiàn)的文本和控件。ItemTemplate數(shù)據(jù)項(xiàng)模板容納需要重復(fù)顯示的數(shù)據(jù)記錄,數(shù)據(jù)記錄以HTML 元素和控件來呈現(xiàn)。AlternatingItemTemplate交替項(xiàng)模板功能同數(shù)據(jù)項(xiàng)模板。通常,可以使用此模板為交替項(xiàng)創(chuàng)建不同的外觀,例如指定一種與在 ItemTemplate 中指定的顏色不同的背景色。SelectedItemT

52、emplate選擇模板包含一些元素,當(dāng)用戶選擇 DataList 控件中的某一條記錄時(shí)將呈現(xiàn)這些元素。通常,可用此模板來通過不同的背景色或字體顏色直觀地區(qū)分選定的行。還可以通過顯示數(shù)據(jù)源中的其他字段來展開該項(xiàng)。EditItemTemplate編輯模板指定當(dāng)某記錄處于編輯模式中時(shí)的布局。此模板通常包含一些編輯控件,如 TextBox 控件。SeparatorTemplate分隔模板容納每條記錄之間呈現(xiàn)的元素。如用一條直線(hr元素)實(shí)現(xiàn)數(shù)據(jù)記錄間的分隔。FooterTemplate頁腳模板容納在列表的結(jié)束處分別呈現(xiàn)的文本和控件。DataList控件的常用事件及說明如下表所示 序號(hào)序號(hào)事件事件說明

53、說明1CancelCommand對(duì)DataList控件中的某個(gè)項(xiàng)單擊Cancel按鈕時(shí)發(fā)生2DeleteCommand對(duì)DataList控件中的某個(gè)項(xiàng)單擊Delete按鈕時(shí)發(fā)生3EditCommand對(duì)DataList控件中的某個(gè)項(xiàng)單擊Edit按鈕時(shí)發(fā)生4ItemCommand當(dāng)單擊DataList控件中的任一按鈕時(shí)發(fā)生5ItemDataBound當(dāng)某個(gè)記錄的數(shù)據(jù)被綁定到DataList控件時(shí)發(fā)生6ItemCreated當(dāng)在DataList控件中創(chuàng)建記錄時(shí)在服務(wù)器上發(fā)生7SelectedIndexChanged在兩次服務(wù)器發(fā)送之間,當(dāng)DataList控件中選擇了不同的項(xiàng)時(shí)發(fā)生8UpdateCo

54、mmand對(duì)DataList控件中的某個(gè)項(xiàng)單擊Update按鈕時(shí)發(fā)生DataList控件使用范例控件使用范例 (3)DetailsView控件控件 DetailsView控件的主要功能是以表格形式顯示和處理來自數(shù)據(jù)源的單條數(shù)據(jù)記錄,DetailsView控件支持以下功能:綁定至數(shù)據(jù)源控件;內(nèi)置插入功能;內(nèi)置更新和刪除功能;內(nèi)置分頁功能;以編程方式訪DetailsView對(duì)象模型從而動(dòng)態(tài)設(shè)置屬性、處理事件等;可通過主題和樣式進(jìn)行自定義外觀。下表列出了可以在DetailsView控件中使用的7種不同行字段類型。 字段類型字段類型說明說明BoundField以文本形式顯示數(shù)據(jù)源中某個(gè)字段的值。But

55、tonField在DetailsView控件中顯示一個(gè)命令按鈕。允許顯示一個(gè)帶有自定義按鈕(如“添加”或“移除”按鈕)控件的行。CheckBoxField在DetailsView控件中顯示一個(gè)復(fù)選框。此行字段類型通常用于顯示具有布爾值的字段。CommandField在DetailsView控件中顯示用來執(zhí)行編輯、插入或刪除操作的內(nèi)置命令按鈕。HyperLinkField將數(shù)據(jù)源中顯示某個(gè)字段的值顯示為超鏈接。此行字段類型允許將另一個(gè)字段綁定到超鏈接的URL。ImageField在DetailsView控件中顯示圖象。TemplateField根據(jù)指定的模板,為DetailsView控件中的行顯

56、示用戶定義的內(nèi)容。此行字段類型用于創(chuàng)建自定義的行字段。DetailsView同樣支持模板功能。下表列出了它所支持的模板。 模板屬性模板屬性說明說明EmptyDataTemplate獲取或者設(shè)置當(dāng)DetailsView控件綁定空的數(shù)據(jù)源控件時(shí),由開發(fā)人員定義的對(duì)于空數(shù)據(jù)所呈現(xiàn)模板的內(nèi)容。默認(rèn)值為空??梢詫⒆远x模板內(nèi)容放在和標(biāo)簽之中。如果DetailsView控件中同時(shí)設(shè)置了該屬性與EmptyDataText屬性,那么EmptyDataTemplate的優(yōu)先級(jí)比EmptyDataText高。FooterTemplate獲取或者設(shè)置由開發(fā)人員自定義的對(duì)于表尾行所呈現(xiàn)模板的內(nèi)容。默認(rèn)值為空。可以將自

57、定義模板內(nèi)容放置在和/FooterTemplate標(biāo)簽之中。如果同時(shí)設(shè)置了FooterText屬性,該屬性將覆蓋FooterText所設(shè)置的內(nèi)容。HeaderTemplate獲取或者設(shè)置由開發(fā)人員自定義的對(duì)于表頭行所呈現(xiàn)模板的內(nèi)容。默認(rèn)值為空??梢詫⒆远x模板內(nèi)容放置在和/HeaderTemplate標(biāo)簽之中。如果同時(shí)設(shè)置FooterText屬性,該屬性將覆蓋HeaderText所設(shè)置的內(nèi)容。PagerTemplate獲取或者設(shè)置由開發(fā)人員自定義的對(duì)于分頁行所呈現(xiàn)模板的內(nèi)容。默認(rèn)值為空??梢詫⒆远x模板內(nèi)容放在和/pagerTemplate標(biāo)簽之中。DetailsView控件常用屬性與Grid

58、View控件相似,可以參照學(xué)習(xí)DetailsView控件的常用事件及說明如下表所示。序序號(hào)號(hào)事件事件說明說明1ItemCommand該事件發(fā)生在控件中某個(gè)按鈕被單擊時(shí)2ItemCreated該事件發(fā)生在創(chuàng)建一個(gè)新數(shù)據(jù)記錄時(shí)3ItemDeleted該事件發(fā)生在單擊刪除按鈕,在刪除操作之后執(zhí)行4ItemDeleting該事件發(fā)生在單擊刪除按鈕,在刪除操作之前執(zhí)行5ItemInserted該事件發(fā)生在單擊添加按鈕,在添加操作之后執(zhí)行6ItemInserting該事件發(fā)生在單擊添加按鈕,在添加操作之前執(zhí)行7ItemUpdated該事件發(fā)生在單擊更新按鈕,在更新操作之后執(zhí)行8ItemUpdating該事

59、件發(fā)生在單擊更新按鈕,在更新操作之前執(zhí)行9ModeChanged該事件發(fā)生在修改數(shù)據(jù)模式,CurrentMode得到更新后執(zhí)行10ModeChanging該事件發(fā)生在修改數(shù)據(jù)模式,CurrentMode得到更新前執(zhí)行11PageIndexChanged該事件發(fā)生在PageIndex屬性的值在分頁操作后更改時(shí)發(fā)生12PageIndexchanging該事件發(fā)生在PageIndex屬性的值在分頁操作前更改時(shí)發(fā)生DetailsView控件使用范例 (4)FormView控件控件 FormView控件用于顯示數(shù)據(jù)源中的單個(gè)記錄。FormView控件則默認(rèn)創(chuàng)建一個(gè)空白的區(qū)域(實(shí)際上所創(chuàng)建的是一個(gè)只有一行

60、一列的表格)。FormView控件不具備自動(dòng)創(chuàng)建表格顯示數(shù)據(jù)的功能。FormView控件需要開發(fā)人員自定義ItemTemplate 、PagerTemplate等模板屬性,以自定義方式顯示各個(gè)字段。 FormView控件支持以下功能:支持綁定到數(shù)據(jù)源控件;內(nèi)置數(shù)據(jù)插入、更新和刪除功能;內(nèi)置分頁功能;允許以編程方式訪問FormView控件對(duì)象模型,以動(dòng)態(tài)設(shè)置屬性、處理事件等;通過用戶定義的模板、主題和樣式自定義外觀。 FormView控件作為一個(gè)數(shù)據(jù)綁定控件,可與數(shù)據(jù)源控件結(jié)合實(shí)現(xiàn)各種數(shù)據(jù)操作。當(dāng)FormView控件通過DataSouceID屬性連接數(shù)據(jù)源控件后,該控件可利用數(shù)據(jù)源控件的內(nèi)置功能,在自身

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論