本文的初衷在于對(duì)Asp.net常用數(shù)據(jù)綁定控件進(jìn)行一個(gè)概覽性的總結(jié),主要分析各種數(shù)據(jù)綁定控件各自的優(yōu)缺點(diǎn),以便在實(shí)際的開發(fā)中選用合適的控件進(jìn)行數(shù)據(jù)綁定,以提高開發(fā)效率。
因?yàn)檫@些數(shù)據(jù)綁定控件大部分都已經(jīng)封裝的很好了,稍微有一些基礎(chǔ)的朋友都可以很容易的上手使用,所以本文不涉及具體控件的使用,只在于分析各自的優(yōu)劣點(diǎn),但是在下一篇文章里,我會(huì)主要講一下ListBox、GridView、Repeater這三個(gè)數(shù)據(jù)綁定控件的“高效分頁(yè)”,ListBox和GridView內(nèi)置的有分頁(yè),但是其效率太低了,少量的數(shù)據(jù)還可以,大量的數(shù)據(jù)根本就沒法用,Repeater控件本身不提供分頁(yè),但是在實(shí)際的開發(fā)中可能也會(huì)有用到分頁(yè),所以也會(huì)給大家講一下,Repeater的分頁(yè)。
好了,現(xiàn)在開始進(jìn)入正題,先從比較常用的控件說起。
一、GridView控件
主要特點(diǎn):支持刪、改,排序、分頁(yè)、外觀設(shè)置、自定義顯示數(shù)據(jù)
缺 點(diǎn):影響程序性能、不支持插入操作
這個(gè)控件可以以表格形式(table標(biāo)簽)顯示、編輯和刪除多種不同的數(shù)據(jù)源(例如數(shù)據(jù)庫(kù)、XML文件以及集合等)中的數(shù)據(jù)。GridView控件功能非常強(qiáng)大,如果需要,編程者可以不用編寫任何代碼,通過VS 2008拖拽,并從屬性面板設(shè)置屬性即可,還可以完成如分頁(yè)、排序、外觀設(shè)置等功能。雖然功能非常齊全,但程序性能將受到影響,在頁(yè)面中最好不要過多地使用該控件。當(dāng)然,如果需要自定義格式顯示各種數(shù)據(jù),GridView控件也提供了用于編輯格式的模板功能,但是不支持?jǐn)?shù)據(jù)的插入。
圖示:
二、ListView控件
主要特點(diǎn):提供了增、刪、改、排序、分頁(yè)等功能,還可以支持用戶自定義模板
缺 點(diǎn):影響程序性能、大數(shù)據(jù)分頁(yè)效率低
ListView控件會(huì)按照編程者編寫的模板格式顯示數(shù)據(jù)。與DataList和Repeater控件相似,ListView控件也適用于任何具有重復(fù)結(jié)構(gòu)的數(shù)據(jù)。不過,ListView控件提供了用戶編輯、插入和刪除數(shù)據(jù)等數(shù)據(jù)操作功能,還提供了對(duì)數(shù)據(jù)進(jìn)行排序和分頁(yè)的功能,只需要在VS 2008中直接設(shè)置即可,不需要編寫代碼,這點(diǎn)非常類似于GridView控件??梢哉f,ListView既有Repeater控件的開放式模板,又具有GridView控件的編輯特性。ListView控件是ASP.NET 3.5新增的控件,其分頁(yè)功能需要配合DataPager控件實(shí)現(xiàn)。ListView控件是ASP.NET 3.5新增的控件,其分頁(yè)功能需要配合DataPager控件實(shí)現(xiàn)。但是對(duì)于大量數(shù)據(jù)來說其分頁(yè)的效率是很低下的,所以在下一節(jié),我會(huì)帶領(lǐng)大家做一個(gè)高效的分頁(yè)??偟膩碚f,ListView是目前為止功能最齊全、最好用的數(shù)據(jù)綁定控件。
如圖:
三、Repeater控件
主要優(yōu)點(diǎn):該控件是一個(gè)完全的開發(fā)性控件,可以自如的顯示用戶自定義的顯示方式
缺 點(diǎn):不支持分頁(yè)、排序、編輯,僅提供重復(fù)模板內(nèi)容
Repeater 控件是一個(gè)數(shù)據(jù)綁定容器控件,用于生成各個(gè)子項(xiàng)的列表,這些子項(xiàng)的顯示方式可以完全由編程者自己編寫。當(dāng)控件所在頁(yè)面運(yùn)行時(shí),該控件根據(jù)數(shù)據(jù)源中數(shù)據(jù)行的數(shù)量重復(fù)模板中所定義的數(shù)據(jù)顯示格式,編程者可以完全把握數(shù)據(jù)的顯示布局,如使用div元素、ul元素等。但是美中不足的是該控件不支持像排序、分頁(yè)、編輯之類的功能,僅僅支持重復(fù)模板內(nèi)容功能,但是在實(shí)際的開發(fā)中可能會(huì)有用到分頁(yè)之類的功能,所以在下一節(jié),我著重也會(huì)講一下Repeater的分頁(yè)。
如圖:
五、DetailsView控件
主要優(yōu)點(diǎn):以表格形式顯示單條數(shù)據(jù)、支持排序、插入、刪除、修改、分頁(yè)
缺 點(diǎn):不支持排序
DetailsView控件以表格形式(table標(biāo)簽)一次僅顯示數(shù)據(jù)源的單條記錄,并且table標(biāo)簽下的每行(tr標(biāo)簽)表示記錄中的一個(gè)字段。這個(gè)控件同樣支持?jǐn)?shù)據(jù)的編輯、插入和刪除操作,并可以輕松地設(shè)置分頁(yè)功能,但是DetailsView控件本身不支持?jǐn)?shù)據(jù)排序。
如圖:
綁定后結(jié)果如下:
聯(lián)系客服