數(shù)據(jù)綁定控件與數(shù)據(jù)源控件_第1頁(yè)
數(shù)據(jù)綁定控件與數(shù)據(jù)源控件_第2頁(yè)
數(shù)據(jù)綁定控件與數(shù)據(jù)源控件_第3頁(yè)
數(shù)據(jù)綁定控件與數(shù)據(jù)源控件_第4頁(yè)
數(shù)據(jù)綁定控件與數(shù)據(jù)源控件_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第10章章數(shù)據(jù)綁定控件與數(shù)據(jù)源控件本章要點(diǎn)本章要點(diǎn)數(shù)據(jù)源控件的概念及其用法編程實(shí)現(xiàn)數(shù)據(jù)綁定的方法GridView、DataList、Repeater、DetailsView、FormView控件用法ListView控件和DataPager控件的用法模板和數(shù)據(jù)綁定表達(dá)式的概念和用法10.1 概述概述Web應(yīng)用程序一般都離不開(kāi)數(shù)據(jù)庫(kù)。ASP.NET提供了多個(gè)數(shù)據(jù)控件用來(lái)在WEB頁(yè)面上展示數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)控件主要分兩類(lèi):數(shù)據(jù)綁定控件,用來(lái)在頁(yè)面上顯示數(shù)據(jù);數(shù)據(jù)源控件,用來(lái)提供對(duì)不同類(lèi)型數(shù)據(jù)源的訪(fǎng)問(wèn),如數(shù)據(jù)庫(kù)、XML文件或中間層業(yè)務(wù)對(duì)象,并從中檢索數(shù)據(jù)。數(shù)據(jù)綁定控件可以綁定到數(shù)據(jù)源而無(wú)需手動(dòng)編寫(xiě)

2、代碼,降低了編程難度。數(shù)據(jù)源控件還支持修改數(shù)據(jù)的功能。常用的數(shù)據(jù)源控件用于訪(fǎng)問(wèn)Microsoft SQL Server、OLE DB、ODBC或Oracle數(shù)據(jù)庫(kù)的SqlDataSource控件。用于訪(fǎng)問(wèn)SQL Server時(shí),還支持高級(jí)緩存功能。當(dāng)數(shù)據(jù)作為 DataSet 對(duì)象返回時(shí),此控件還支持排序、篩選和分頁(yè)。用于訪(fǎng)問(wèn)Microsoft Access數(shù)據(jù)庫(kù)的AccessDataSource控件;用于訪(fǎng)問(wèn)XML文件的XmlDataSource控件;用于訪(fǎng)問(wèn)站點(diǎn)地圖文件的SiteMapDataSource控件;N層架構(gòu)應(yīng)用程序下使用的ObjectDataSource控件等。數(shù)據(jù)綁定控件列表控

3、件BulletedList、 CheckBoxList、 DropDownList、 ListBox 、 RadioButtonList表格式數(shù)據(jù)綁定控件GridView 、 DataList 、 Repeater 、 DetailsView 、 FormView 、 ListView控件層次數(shù)據(jù)綁定控件Menu、TreeView控件10.2數(shù)據(jù)源控件數(shù)據(jù)源控件SqlDataSource類(lèi)是基于ADO.NET構(gòu)建的,它以聲明控件的方式,而不是編程的方式使用這些對(duì)象。SqlDataSource控件屬于不可見(jiàn)控件,即它放在頁(yè)面上,但是不會(huì)呈現(xiàn)任何內(nèi)容。通常需要將它和其他控件一起使用來(lái)顯示和編輯數(shù)據(jù)

4、庫(kù)數(shù)據(jù),如GridView、FormView等控件,使用數(shù)據(jù)源控件可以快速構(gòu)建ASP.NET WEB數(shù)據(jù)庫(kù)應(yīng)用程序,非常適合于初學(xué)者建立一些小型WEB站點(diǎn)。但是,在構(gòu)建復(fù)雜的多層應(yīng)用程序時(shí),使用SqlDataSource等數(shù)據(jù)源控件并不合適。因?yàn)镾qlDataSource數(shù)據(jù)源控件將數(shù)據(jù)訪(fǎng)問(wèn)層和用戶(hù)界面層混在一起。如果要構(gòu)建框架清晰的多層應(yīng)用程序,就應(yīng)該使用ObjectDataSource控件展現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù),或自己通過(guò)編程手段實(shí)現(xiàn)。數(shù)據(jù)源控件應(yīng)用舉例數(shù)據(jù)源控件應(yīng)用舉例【例10-1】用戶(hù)在系統(tǒng)中注冊(cè)(regV3.aspx頁(yè)面)時(shí),需要填寫(xiě)學(xué)生詳情信息,包括系別、專(zhuān)業(yè)和班級(jí)信息。當(dāng)頁(yè)面加載時(shí),系統(tǒng)

5、首先初始化系別信息;當(dāng)用戶(hù)選擇一個(gè)系別后,系統(tǒng)將在專(zhuān)業(yè)下拉框中顯示該系別所有的專(zhuān)業(yè);某一專(zhuān)業(yè)一旦被選中,班級(jí)列表框?qū)@示該專(zhuān)業(yè)下所有的班級(jí)。學(xué)生詳情界面設(shè)計(jì)如圖10-1所示。數(shù)據(jù)庫(kù)連接串的保存與使用數(shù)據(jù)庫(kù)連接串的保存與使用表示對(duì)Web.config文件中ConnectionStrings節(jié)ConnectionString的引用。SqlDataSource控件支持的類(lèi)型參數(shù)控件支持的類(lèi)型參數(shù)Parameter表示一個(gè)任意的靜態(tài)值。對(duì)應(yīng)圖10-9中【源】下拉框中的【None】;ControlParameter表示一個(gè)控件值或頁(yè)面的屬性值。對(duì)應(yīng)圖10-9中【源】下拉框中的【Control】;Cook

6、ieParameter表示瀏覽器的cookie值。對(duì)應(yīng)圖10-9中【源】下拉框中的【Cookie】;FormParameter表示一個(gè)HTML表單字段的值。對(duì)應(yīng)圖10-9中【源】下拉框中的【Form】;ProfileParameter表示一個(gè)配置文件屬性值。對(duì)應(yīng)圖10-9中【源】下拉框中的【Profile】;QueryStringParameter表示查詢(xún)字符串字段中的值。對(duì)應(yīng)圖10-9中【源】下拉框中的【QueryString】;SessionParameter表示一個(gè)存儲(chǔ)在Session對(duì)象中的對(duì)象的值。對(duì)應(yīng)圖10-9中【源】下拉框中的【Session】;10.3 GridView控件控件

7、GridView控件是ASP.NET 2.0引入的一個(gè)新控件,是ASP.NET 1.x版本中DataGrid控件的升級(jí)版本。GridView是功能最多、最復(fù)雜、應(yīng)用最廣泛的ASP.NET控件之一。它可以用來(lái)顯示、選擇、排序、分頁(yè)和編輯數(shù)據(jù)庫(kù)記錄。10.3.1 顯示數(shù)據(jù)顯示數(shù)據(jù)GridView控件將數(shù)據(jù)項(xiàng)呈現(xiàn)在一個(gè)HTML表格中,每個(gè)數(shù)據(jù)項(xiàng)呈現(xiàn)為一個(gè)獨(dú)立的HTML行。GridView控件支持聲明控件支持聲明式數(shù)據(jù)綁定和編程式數(shù)據(jù)綁定。式數(shù)據(jù)綁定和編程式數(shù)據(jù)綁定。通過(guò)設(shè)置GridView控件的DataSourceId屬性,將數(shù)據(jù)源控件關(guān)聯(lián)到該GridView控件。如果使用編程式數(shù)據(jù)綁定方式,需要設(shè)

8、置GridView控件的DataSource屬性,并調(diào)用DataBind方法。AutoGenerateColumns屬性為true(默認(rèn)為true),GridView控件可以根據(jù)數(shù)據(jù)源的內(nèi)容自動(dòng)生成綁定字段,如果字段類(lèi)型為布爾類(lèi)型,它將在頁(yè)面上為其呈現(xiàn)一個(gè)復(fù)選框,其它類(lèi)型的字段內(nèi)容將直接呈現(xiàn)在頁(yè)面上?!纠?0-2】使用編程式數(shù)據(jù)綁定方式,利用GridView控件展示“管理會(huì)員頁(yè)面”(adminUsers.aspx)中的用戶(hù)列表。GridView控件的字段類(lèi)型控件的字段類(lèi)型BoundField將數(shù)據(jù)項(xiàng)展現(xiàn)為文本。CheckBoxField將數(shù)據(jù)項(xiàng)展現(xiàn)為復(fù)選框。CommonField使用超級(jí)鏈接形

9、式支持編輯、刪除或選中行。ButtonField將數(shù)據(jù)項(xiàng)項(xiàng)顯示為按鈕(可以為image按鈕、link按鈕或push按鈕)。HyperLinkField將數(shù)據(jù)項(xiàng)顯示為超級(jí)鏈接。ImageField將數(shù)據(jù)項(xiàng)顯示為圖片。TemplateField用于自定義數(shù)據(jù)項(xiàng)的展示。【例10-3】使用自定義字段定制GridView控件,顯示學(xué)生信息。10.3.2 選擇數(shù)據(jù)選擇數(shù)據(jù)GridView控件允許用戶(hù)選擇其中的一行數(shù)據(jù),通常使用該功能創(chuàng)建一個(gè)主從結(jié)構(gòu)表。為了標(biāo)識(shí)一行數(shù)據(jù),在數(shù)據(jù)源中有主鍵的概念,為了實(shí)現(xiàn)選擇數(shù)據(jù)功能以及在GridView控件中編輯、刪除或修改數(shù)據(jù),需要設(shè)置GridView控件的DataKey

10、Names屬性。DataKeyNames屬性在GridView控件中為每行關(guān)聯(lián)一個(gè)值,可以直接指定一個(gè)數(shù)據(jù)列的名稱(chēng)或者使用逗號(hào)隔開(kāi)的列名列表作為屬性值。通常情況下,將數(shù)據(jù)源的主鍵列名賦值給DataKeyNames屬性?!纠?0-4】在【例10-3】的基礎(chǔ)上添加一個(gè)選擇列,當(dāng)點(diǎn)擊某一行上的【選擇】鏈接時(shí),在該列表的右邊顯示學(xué)生的詳細(xì)信息。10.3.3 數(shù)據(jù)分頁(yè)數(shù)據(jù)分頁(yè)如果要顯示的數(shù)據(jù)量比較大,把這些數(shù)據(jù)分在在不同的頁(yè)面顯示是比較有效的方法。將GridView控件的AllowPaging屬性設(shè)置為真就可以啟用分頁(yè)功能。此外,還需要設(shè)置PageSize屬性,指定每頁(yè)顯示記錄的條數(shù)。PageIndex

11、屬性表示當(dāng)前選中頁(yè)的索引(從零開(kāi)始)。PagerSettings屬性用來(lái)設(shè)置分頁(yè)界面的外觀(guān)。PagerSettings類(lèi)幾個(gè)屬性FirstPageImageUrl第一頁(yè)按鈕顯示的圖像URL。FirstPageText第一頁(yè)按鈕顯示的文字。LastPageImageUrl最后一頁(yè)按鈕顯示的圖像URL。LastPageText最后一頁(yè)按鈕顯示的文字。Mode分頁(yè)顯示模式,值可以為NextPrevious、NextPreviousFirstLast、Numeric、NumericFirstLast。NextPageImageUrl下一頁(yè)按鈕顯示的圖像URLNextPageText下一頁(yè)按鈕顯示的文字

12、。PageButtonCount頁(yè)按鈕的數(shù)量。Position分頁(yè)界面的顯示位置,可以是Bottom、Top和TopAndBottom。PreviousePageImageUrl上一頁(yè)按鈕顯示的圖像URL。PreviousePageText上一頁(yè)按鈕顯示的文字。Visible是否顯示分頁(yè)界面。PagerSettings類(lèi)FirstPageImageUrl、FirstPageText、LastPageImageUrl、LastPageText、NextPageImageUrl、NextPageText、PreviousePageImageUrl、PreviousePageText屬性只有分頁(yè)顯示

13、模式Mode設(shè)置為NextPreviousFirstLast才有效。如果設(shè)置了xxxImageUrl屬性,分頁(yè)按鈕將會(huì)忽略與之對(duì)應(yīng)的xxxText屬性并顯示該圖片,否則顯示xxxText屬性的值。當(dāng)Mode屬性設(shè)置為NextPrevious時(shí),僅顯示NextPageImageUrl、NextPageText、PreviousePageImageUrl、PreviousePageText屬性值。當(dāng)Mode屬性設(shè)置為Numeric、NumericFirstLast時(shí),頁(yè)面上將顯示頁(yè)碼相關(guān)信息,頁(yè)按鈕的數(shù)量有PageButtonCount屬性值決定?!纠?0-5】在【例10-4】的基礎(chǔ)上為gvStu

14、dent控件增加自定義分頁(yè)功能。10.3.4 編輯數(shù)據(jù)編輯數(shù)據(jù)GridView控件除了顯示數(shù)據(jù)外,還支持編輯數(shù)據(jù)。GridView在編輯模式下,每一行都顯示一個(gè)“編輯”按鈕,當(dāng)用戶(hù)點(diǎn)擊該按鈕時(shí),當(dāng)前行的每個(gè)單元格中的數(shù)據(jù)都會(huì)顯示在一個(gè)可編輯控件(如TextBox控件、CheckBox控件或者用戶(hù)自己定義的其他DropDownList控件等)內(nèi)。此時(shí)“編輯”按鈕變?yōu)椤案隆焙汀叭∠卑粹o。用戶(hù)可以修改單元格中的內(nèi)容,修改完畢后,點(diǎn)擊“更新”按鈕,保存修改內(nèi)容,或點(diǎn)擊“取消”按鈕,放棄修改的內(nèi)容。10.3.4 編輯數(shù)據(jù)編輯數(shù)據(jù)當(dāng)GridView控件綁定到一個(gè)數(shù)據(jù)源控件時(shí),如SqlDataSourc

15、e控件,只需要將AutoGenerateEditButton屬性設(shè)置為T(mén)rue即可啟用編輯功能,將AutoGenerateDeleteButton屬性設(shè)置為T(mén)rue可以啟用刪除功能,不需要用戶(hù)編寫(xiě)代碼,但需要配置好數(shù)據(jù)源控件。此外,GridView控件還支持通過(guò)編程的方式添加編輯和刪除功能。此時(shí)需要手動(dòng)添加編輯和刪除列,并且需要編寫(xiě)代碼響應(yīng)RowDeleting、RowUpdating、RowEditing等事件?!纠?0-6】在【例10-5】的基礎(chǔ)上,通過(guò)編程方式為gvStudent控件增加編輯和刪除功能。10.4 Repeater控件控件Repeater控件是一個(gè)容器控件,用于創(chuàng)建自定義列

16、表。Repeater控件不具備內(nèi)置的呈現(xiàn)功能,因此,必須通過(guò)創(chuàng)建模板為Repeater控件提供布局、格式設(shè)置和樣式標(biāo)記。當(dāng)包含Repeater控件的頁(yè)面運(yùn)行時(shí),Repeater控件依次為數(shù)據(jù)源中的每個(gè)記錄呈現(xiàn)一個(gè)項(xiàng)。模 板說(shuō) 明ItemTemplate此模板為必選模板。包含要為數(shù)據(jù)源中每個(gè)數(shù)據(jù)項(xiàng)都要呈現(xiàn)一次的HTML元素和控件。AlternatingItemTemplate使用此模板為交替項(xiàng)創(chuàng)建不同的外觀(guān),例如指定一種與ItemTemplate不同顏色的背景色。SeparatorTemplate包含在每項(xiàng)之間呈現(xiàn)的元素。例如可能是一條直線(xiàn)(使用元素)。HeaderTemplate列表的開(kāi)始處呈

17、現(xiàn)的文本和控件。僅呈現(xiàn)一次。FooterTemplate列表的結(jié)束處呈現(xiàn)的文本和控件。僅呈現(xiàn)一次。Repeater應(yīng)用舉例【例10-7】利用Repeater控件實(shí)現(xiàn)首頁(yè)音樂(lè)排行列表。實(shí)現(xiàn)效果如圖10-23所示。數(shù)據(jù)綁定表達(dá)式在ASP.NET中,大部分?jǐn)?shù)據(jù)綁定控件都支持模板。如Repeater、DataList、FormView,都必須使用模板,否則無(wú)法顯示數(shù)據(jù)。GridView、DetailsView和Menu控件也支持模板,但不是必需的。數(shù)據(jù)綁定表達(dá)式是一種特殊的表達(dá)式,它直到運(yùn)行時(shí)才計(jì)算出結(jié)果。在頁(yè)面代碼中使用數(shù)據(jù)綁定表達(dá)式的方法是將表達(dá)式包含在符號(hào)之間。 等價(jià)于在數(shù)據(jù)綁定表達(dá)中,除了可以

18、調(diào)用Eval方法外還可以調(diào)用其他方法或變量。 10.5 DataList控件控件DataList控件與Repeater控件一樣都是由模板驅(qū)動(dòng)的。但是和Repeater控件不同,DataList控件默認(rèn)輸出一個(gè)HTML表格,因此在使用DataList控件的時(shí)候可以做更多的格式化設(shè)置。DataList的RepeatLayout屬性默認(rèn)為T(mén)able,即輸出為一個(gè)表格。還可以修改為Flow,表示在HTML標(biāo)簽中中輸出數(shù)據(jù)。DataList控件可以把內(nèi)容顯示為多列表格,每個(gè)數(shù)據(jù)項(xiàng)占用一個(gè)單元格。以下兩個(gè)屬性控制DataList控件輸出布局:RepeatColumns顯示的列數(shù);RepeatDirecti

19、on輸出網(wǎng)格的方向,Horizontal表示橫向,Vertical表示縱向。DataList模板DataList控件除了和Repeater控件一樣,支持ItemTemplate、AlternatingItemTemplate、SeperatorTemplate、HeaderTemplate和FooterTemplate模板外,還支持另外兩個(gè)模板:EditItemTemplate當(dāng)進(jìn)入編輯狀態(tài)時(shí)顯示;SelectedItemTemplate當(dāng)列被選中時(shí)顯示?!纠?0-8】應(yīng)用DataList控件顯示首頁(yè)中最新注冊(cè)用戶(hù)列表。10.6 DetailsView控件控件DetailsView控件用于一次

20、處理一條數(shù)據(jù)記錄??梢杂脕?lái)顯示、編輯、插入和刪除數(shù)據(jù)項(xiàng)。DetailsView控件將一條記錄中的每一列都呈現(xiàn)為一個(gè)獨(dú)立的HTML表格行。和GridView等數(shù)據(jù)綁定控件一樣,DetailsView控件也支持聲明式數(shù)據(jù)綁定和編程式數(shù)據(jù)綁定,并且DetailsView控件中使用的字段類(lèi)似于GridView控件的Column,DetailsView控件的字段包括BoundField、CheckBoxField、CommandField、ButtonField、HyperLinkField、ImageField和TemplateField。當(dāng)DetailsView控件的AutoGenerateRows

21、屬性設(shè)置為false時(shí),DetailsView控件不會(huì)自動(dòng)為記錄中的每一列創(chuàng)建一行來(lái)呈現(xiàn)數(shù)據(jù),否則將自動(dòng)創(chuàng)建一行。當(dāng)使用字段自定義DetailsView控件外觀(guān)時(shí),需要將AutoGenerateRows設(shè)置為False。DetailsView控件應(yīng)用舉例控件應(yīng)用舉例【例10-9】在10.2.2選擇數(shù)據(jù)一節(jié)中,為GridView控件添加了選擇功能。當(dāng)用戶(hù)點(diǎn)擊某一行的【學(xué)生詳情】鏈接按鈕時(shí),希望在右邊顯示其詳細(xì)信息。但是,在【例10-4】中僅僅使用了一個(gè)Label控件顯示了用戶(hù)的簡(jiǎn)單信息?,F(xiàn)在使用DetailsView控件顯示用戶(hù)的詳細(xì)注冊(cè)信息。FormView控件控件和DetailsView控件

22、一樣,F(xiàn)ormView控件也用于一次處理一條數(shù)據(jù)記錄,并且可以顯示、編輯、插入和刪除數(shù)據(jù)項(xiàng)。不同之處在于,DetailsView控件將一條記錄中的每一列都呈現(xiàn)為一個(gè)獨(dú)立的HTML表格行,而FormView控件則完全由模板驅(qū)動(dòng)。相比較而言,使用FormView控件需要更多的編碼,正因如此,F(xiàn)ormView控件可以有更多的設(shè)置,完成更靈活的頁(yè)面布局。FormView控件通常結(jié)合數(shù)據(jù)源控件完成記錄的更新和插入操作,F(xiàn)ormView控件的DefaultMode屬性用于設(shè)置該控件的默認(rèn)模式,在執(zhí)行取消、插入和更新命令后恢復(fù)為該模式。和DetailsView控件一樣,F(xiàn)ormView控件還通常用于主/從方

23、案中。FormView模板模 板說(shuō) 明ItemTemplate項(xiàng)模板。定義只讀模式下的數(shù)據(jù)行顯示界面。EditItemTemplate編輯模板,定義編輯模式下的數(shù)據(jù)行顯示界面。InsertItemTemplate插入模板,與編輯模板相似,控制用戶(hù)在后端數(shù)據(jù)源中添加一條新記錄時(shí)的字段顯示。EmptyDataTemplate空數(shù)據(jù)模板。當(dāng)數(shù)據(jù)源中沒(méi)有數(shù)據(jù)時(shí),顯示此模板中的內(nèi)容。HeaderTemplate標(biāo)題模板。FooterTemplate表尾模板。PagerTemplate分頁(yè)模板。用于控制分頁(yè)。FormView控件應(yīng)用舉例應(yīng)用舉例FormView和DetailsView控件都可以自動(dòng)對(duì)其關(guān)聯(lián)

24、數(shù)據(jù)源中的數(shù)據(jù)以一次一個(gè)記錄的方式進(jìn)行翻頁(yè)。如果將FormView控件的AllowPaging屬性設(shè)置為【True】,則FormView控件可自動(dòng)添加用于分頁(yè)的用戶(hù)界面 (UI) 控件。也可以通過(guò)添加PagerTemplate模板來(lái)自定義用于分頁(yè)的用戶(hù)界面。在FormView控件中,一個(gè)數(shù)據(jù)頁(yè)就是一條綁定記錄?!纠?0-10】利用FormView控件,結(jié)合SqlDataSource數(shù)據(jù)源控件完成專(zhuān)業(yè)的添加、刪除和修改功能。當(dāng)使用 DataSourceID 屬性綁定到數(shù)據(jù)源時(shí),F(xiàn)ormView 控件支持雙向數(shù)據(jù)綁定。除可以使該控件顯示數(shù)據(jù)之外,還可以使它自動(dòng)支持對(duì)綁定數(shù)據(jù)的插入、更新和刪除操作,

25、前提是用戶(hù)必須配置好數(shù)據(jù)源控件以支持編輯功能。10.8 ListView控件控件ListView控件是ASP.NET 3.5中新引入的控件,可以綁定從數(shù)據(jù)源返回的數(shù)據(jù)項(xiàng)并顯示它們。這些數(shù)據(jù)可以顯示在多個(gè)頁(yè)面或者在一個(gè)頁(yè)面逐個(gè)顯示數(shù)據(jù)項(xiàng),也可以對(duì)它們分組。ListView控件會(huì)按照頂一頂模板和樣式顯示數(shù)據(jù)。與DataList和Repeater控件相似,此控件也適用于任何具有重復(fù)結(jié)構(gòu)的數(shù)據(jù)。但與這些控件不同的是,ListView控件允許用戶(hù)編輯、插入和刪除數(shù)據(jù),以及對(duì)數(shù)據(jù)進(jìn)行排序和分頁(yè),并且所有這一切都無(wú)需編寫(xiě)代碼。可以說(shuō),ListView就是DataGrid和Repeater的結(jié)合體,它既有Re

26、peater控件的開(kāi)放式模板,又具有DataGrid控件的編輯特性。ListView控件并不直接支持分頁(yè),需要借助下一節(jié)講述的DataPager控件完成分頁(yè)功能。ListView模板LayoutTemplate :布局模板。定義ListView控件的布局,必須包含一個(gè)充當(dāng)數(shù)據(jù)占位符的控件。例如,該布局模板可以包含ASP.NET Table、Panel或Label控件(它還可以包含runat屬性設(shè)置為“server”的table、div或span元素)。這些控件將包含ItemTemplate模板所定義的每個(gè)項(xiàng)的輸出,還可以在GroupTemplate模板定義的內(nèi)容中對(duì)這些輸出進(jìn)行分組。ItemT

27、emplate :項(xiàng)模板。標(biāo)識(shí)要為各個(gè)項(xiàng)顯示的數(shù)據(jù)綁定內(nèi)容。此模板包含的控件通常已綁定到數(shù)據(jù)列或其他單個(gè)數(shù)據(jù)元素上。ItemSeparatorTemplate :標(biāo)識(shí)要在各個(gè)項(xiàng)之間呈現(xiàn)的內(nèi)容。AlternatingItemTemplate :交替項(xiàng)模板。標(biāo)識(shí)為便于區(qū)分連續(xù)項(xiàng),而為交替項(xiàng)呈現(xiàn)的內(nèi)容。SelectedItemTemplate :為區(qū)分所選數(shù)據(jù)項(xiàng)與顯示的其他項(xiàng),而標(biāo)識(shí)該所選項(xiàng)呈現(xiàn)的內(nèi)容。ListView模板EmptyItemTemplate :標(biāo)識(shí)在使用GroupTemplate模板為空項(xiàng)時(shí)呈現(xiàn)的內(nèi)容。EmptyDataTemplate:標(biāo)識(shí)在數(shù)據(jù)源沒(méi)有返回?cái)?shù)據(jù)時(shí)要呈現(xiàn)的內(nèi)容。Gro

28、upTemplate :分組模板。標(biāo)識(shí)組布局的內(nèi)容。它包含一個(gè)占位符對(duì)象,例如表單元格 (td)、div或span。該對(duì)象將由其他模板(例如 ItemTemplate 和 EmptyItemTemplate 模板)中定義的內(nèi)容替換。GroupSeparatorTemplate:標(biāo)識(shí)項(xiàng)組之間呈現(xiàn)的內(nèi)容。EditItemTemplate :標(biāo)識(shí)要在編輯項(xiàng)時(shí)呈現(xiàn)的內(nèi)容。對(duì)于正在編輯的數(shù)據(jù)項(xiàng),將呈現(xiàn)EditItemTemplate模板的內(nèi)容以替代ItemTemplate模板的內(nèi)容。InsertItemTemplate:標(biāo)識(shí)要在插入項(xiàng)時(shí)呈現(xiàn)的內(nèi)容。將在ListView控件顯示的項(xiàng)的開(kāi)始或末尾處呈現(xiàn)Ins

29、ertItemTemplate模板,以替代ItemTemplate模板。通過(guò)使用ListView控件的InsertItemPosition屬性,可以指定InsertItemTemplate模板的呈現(xiàn)位置。ListView控件應(yīng)用舉例【例10-11】使用ListView控件完成班級(jí)信息的管理功能(adminClasses.aspx)。10.9 DataPager控件控件DataPager控件也是ASP.NET 3.5中新引入的控件,用于為實(shí)現(xiàn)了IPageableItemContainer接口的數(shù)據(jù)綁定控件顯示導(dǎo)航控件。ListView控件就是實(shí)現(xiàn)該接口的一個(gè)控件??梢酝ㄟ^(guò)使用DataPager控件的PagedControlID屬性將DataPager控件與數(shù)據(jù)綁定控件關(guān)聯(lián)起來(lái)。也可以選擇將DataPager控件置于數(shù)據(jù)綁定控件層次結(jié)構(gòu)的內(nèi)部。例如,在ListView控件中,可以將DataPager控件置于ListView.:.LayoutTemplate模板內(nèi)部??梢酝ㄟ^(guò)更改PageSize屬性自定義為每個(gè)數(shù)據(jù)頁(yè)顯示的項(xiàng)數(shù)。也可以通過(guò)設(shè)置QueryStringField屬性更改將頁(yè)面提交給服務(wù)器的方式。DataPa

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論