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),請進(jìn)行舉報或認(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ù)器對象l4掌握ASP.NET基本控件的使用l5學(xué)會配置Web.config文件l6掌握ADO.NET數(shù)據(jù)庫訪問技術(shù)l7學(xué)會使用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#編程方法請看專門書籍);然后介紹了主要Web服務(wù)器標(biāo)準(zhǔn)控件、服務(wù)器端驗證控件和ASP.NET

2、內(nèi)置服務(wù)器對象等的使用,介紹了Web.config文件的作用和常用配置參數(shù);重點(diǎn)介紹了ADO.NET數(shù)據(jù)庫訪問技術(shù)以及執(zhí)行存儲過程、數(shù)據(jù)庫的事務(wù)處理、跨數(shù)據(jù)庫訪問、數(shù)據(jù)綁定技術(shù)等內(nèi)容;給出了創(chuàng)建和訪問Web服務(wù)的實(shí)例;以案例方式對.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ù)器對象與

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ù)器端驗證控件l6.2.3 服務(wù)器控件使用注意事項l6.2.4 服務(wù)器端數(shù)據(jù)訪問控件6.4 ASP.NET內(nèi)置服

4、務(wù)器對象與Global.asax文件l6.4.1 ASP.NET內(nèi)置服務(wù)器對象l6.4.2 Global.asax 文件6.5 ADO.NET數(shù)據(jù)庫訪問技術(shù)l6.5.1 Connection對象l6.5.2 Command對象l6.5.3 DataReader對象l6.5.4 Dataset對象與DataAdapter對象l6.5.5執(zhí)行存儲過程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)建一個類庫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é)合起來。下面我們通過一個C#語言的簡單例子來了解一些概念和用C#語言編寫程序的方法。 例6.1: using System; class Hello static void Main() Console.WriteLine(Hello, world); 下面對這個程序進(jìn)行一些說明:1) C#程序的源代存儲在擴(kuò)展名為.cs的文件中;2)using System 引

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

7、ediate Language)中間語言。中間語言在安裝時被運(yùn)行庫編譯成本機(jī)代碼或者首次運(yùn)行時被實(shí)時編譯。因此例6.1中的hello.exe只是一個由中間語言可執(zhí)行文件頭組成的可移植執(zhí)行文件。 下面我們從以下幾個方面對C#語言進(jìn)行詳細(xì)介紹。6.1.2 C#中的數(shù)據(jù)類型中的數(shù)據(jù)類型 C#支持兩種類型:數(shù)據(jù)類型和引用類型。數(shù)據(jù)類型和引用類型的區(qū)別在于,數(shù)據(jù)類型變量直接包含它們的數(shù)據(jù),而引用類型變量是存儲對于對象的引用。對于引用類型,有可能兩個變量引用相同的對象,因而可能出現(xiàn)對一個變量的操作影響到其他變量所引用對象的情況。對于數(shù)據(jù)類型,每個變量都有它們自己對數(shù)據(jù)的拷貝,所以不太可能因為對一個進(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; /有符號 8 位整數(shù) byte 0255System.Byte byte a=1,b=2; /無符號 8 位整數(shù) short -3276832767 System.Int16 short a=60; /有符號 16 位整數(shù) ushort 065535 System.UInt16 ushort

9、 a=60; /無符號無符號 16 位整數(shù)位整數(shù) int -2 31231-1System.Int32 int a=10,b=60; / 有符號 32 位整數(shù) uint 0232-1System.UInt32 uint uInt1 = 123;/ 無符號 32 位整數(shù) long-263 263-1System.Int64 long l=4294967296L; /有符號 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)算對象連接起來并符合C#語法的式子稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式要么返回true要么返回false。 l(4)邏輯表達(dá)式 &(and)、|(or)和!(not)操作符稱為邏輯操作符。用邏輯操作符把運(yùn)算對象連接起來并符合C#語法的式子稱為邏輯表達(dá)式。6.1.5 C#控制語句控制語句lC#中控制語句主要包括分支和循環(huán)語句。l分支語句有3種: 1)三元運(yùn)算符,例如: a=(b5)?100:10表示b5時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語句可一次將測試變量與多個值比較,而if僅僅測試一個條件。對于循環(huán)語句可用break和continue語句決定是否跳出循環(huán)或繼續(xù)執(zhí)行循環(huán)。foreach語句可以遍歷一個集合中的所有元素。If Switch For while foreach do while if() else switch(控制表達(dá)式) case 測試值1:語句1break;case測試值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)建對象時被自動調(diào)用,用來執(zhí)行對象的

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

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

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

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

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

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

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

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

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

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

24、新布局7HTML控件HTML中的常規(guī)控件8CRYSTALREPORTS控件提供Web頁面上的報表處理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 控件允許指定是否對內(nèi)容進(jìn)行編碼。通常情況下,當(dāng)希望 文本和控件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

39、在瀏覽器中進(jìn)行。因此不能養(yǎng)成使用服務(wù)器控件的習(xí)慣性思維,在使用控件的時候有必要思考一下采用客戶端控件的可能性。6.2.4 服務(wù)器端數(shù)據(jù)訪問控件 數(shù)據(jù)訪問控件根據(jù)所實(shí)現(xiàn)的功能分為兩大類:數(shù)據(jù)源控件和數(shù)據(jù)綁定控 件。數(shù)據(jù)源控件可實(shí)現(xiàn)對不同數(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ù)綁定到指定對象中。ObjectDataSource用于連接自定義對象,允許以聲明方式將對象綁定到自定義對象公開的數(shù)據(jù),以用于多層Web應(yīng)用結(jié)構(gòu)。XmlDataSource該控件可裝載XML文件作為數(shù)據(jù)源,并將其綁定到指定的對象中。SiteMapDataSource該控件裝載一個預(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ù)源的單個記錄,其中每個數(shù)據(jù)行表示記錄中的一個字段。該控件通常與 GridView 控件組合使用,構(gòu)成主-從方案。FormView用于顯示表中數(shù)據(jù)源的單個記錄。使用 FormView 控件時,由您指定模板以顯示和編輯綁定值。模板中包含用于創(chuàng)建窗體的格式、控件和綁定表達(dá)式。FormView 控件通常與 GridView 控件一起用于主控/詳細(xì)信息方案。ReportViewer用于顯示報表、工具欄和文檔結(jié)構(gòu)圖的視圖區(qū)域。工具欄是可配置的,它提供了運(yùn)行時功

42、能以支持多頁報表中的導(dǎo)航、縮放、搜索、打印和導(dǎo)出功能。提供編程接口,以便可以自定義控件、配置控件,以及通過代碼與控件進(jìn)行交互,包括更改在運(yùn)行時 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ù)源控件序序號號屬性屬性說明說明1ConnectionString用于設(shè)置連接數(shù)據(jù)源字符串2ProviderName用于設(shè)置不同的數(shù)據(jù)提供程序,未設(shè)置該屬性,則默認(rèn)為System.Data.SqlClient3SelectCommand執(zhí)行數(shù)據(jù)記錄選擇操作的SQL語句或者存儲過程名稱4UpdateCommand執(zhí)行數(shù)據(jù)記錄更新操作的SQL語句或者存儲過程名稱5DeleteCommand執(zhí)行數(shù)據(jù)記錄刪除操作的SQL語句或者存儲過程名稱6InsertComm

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

45、程序,未設(shè)置該屬性,則默認(rèn)為System.Data.OleDb3SelectCommand執(zhí)行數(shù)據(jù)記錄選擇操作的SQL語句或者存儲過程名稱4UpdateCommand執(zhí)行數(shù)據(jù)記錄更新操作的SQL語句或者存儲過程名稱5DeleteCommand執(zhí)行數(shù)據(jù)記錄刪除操作的SQL語句或者存儲過程名稱6InsertCommand執(zhí)行數(shù)據(jù)記錄添加操作的SQL語句或者存儲過程名稱7DataSourceMode用于獲取或設(shè)置SqlDataSource控件獲取數(shù)據(jù)時所使用的數(shù)據(jù)返回模式,包含2個可選枚舉值: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è)計原則是,將表示層與業(yè)務(wù)邏輯相分離,而將業(yè)務(wù)邏輯封裝在業(yè)務(wù)對象中。這些業(yè)務(wù)對象在表示層和數(shù)據(jù)層之間形成一層,從而生成一種三層應(yīng)用程序結(jié)構(gòu)。ObjectDataSource 控件通過提供一種將相關(guān)頁上的數(shù)據(jù)控件綁定到中間層業(yè)務(wù)對象的方法,為三層結(jié)構(gòu)提供支持。 在不使用擴(kuò)展代碼的情況下,ObjectDataSource 使用中間層業(yè)務(wù)對象以聲明方式對數(shù)據(jù)執(zhí)行選擇、插入、更新、刪除、分頁、排序、緩存和篩選操作。

47、 ObjectDataSource 控件使用反射調(diào)用業(yè)務(wù)對象的方法,以對數(shù)據(jù)執(zhí)行選擇、更新、插入和刪除操作。設(shè)置 ObjectDataSource 控件的 TypeName 屬性來指定要用作源對象的類名稱。 (3)XmlDataSource控件 XmlDataSource控件是專門針對XML數(shù)據(jù)而發(fā)布的數(shù)據(jù)源控件。該控件常用的屬性及說明如下表所示。序號序號屬性屬性說明說明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ù)。該控件常用的屬性及說明如下表所示。序號序號屬性屬性說明說明1AllowPaging獲取或

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

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

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

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

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

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

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

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

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

58、View控件相似,可以參照學(xué)習(xí)DetailsView控件的常用事件及說明如下表所示。序序號號事件事件說明說明1ItemCommand該事件發(fā)生在控件中某個按鈕被單擊時2ItemCreated該事件發(fā)生在創(chuàng)建一個新數(shù)據(jù)記錄時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屬性的值在分頁操作后更改時發(fā)生12PageIndexchanging該事件發(fā)生在PageIndex屬性的值在分頁操作前更改時發(fā)生DetailsView控件使用范例 (4)FormView控件控件 FormView控件用于顯示數(shù)據(jù)源中的單個記錄。FormView控件則默認(rèn)創(chuàng)建一個空白的區(qū)域(實(shí)際上所創(chuàng)建的是一個只有一行

60、一列的表格)。FormView控件不具備自動創(chuàng)建表格顯示數(shù)據(jù)的功能。FormView控件需要開發(fā)人員自定義ItemTemplate 、PagerTemplate等模板屬性,以自定義方式顯示各個字段。 FormView控件支持以下功能:支持綁定到數(shù)據(jù)源控件;內(nèi)置數(shù)據(jù)插入、更新和刪除功能;內(nèi)置分頁功能;允許以編程方式訪問FormView控件對象模型,以動態(tài)設(shè)置屬性、處理事件等;通過用戶定義的模板、主題和樣式自定義外觀。 FormView控件作為一個數(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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論