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