本文的初衷在於對Asp.net常用數據綁定控件進行一個概覽性的總結,主要分析各種數據綁定控件各自的優缺點,以便在實際的開發中選用合適的控件進行數據綁定,以提高開發效率。
因為這些數據綁定控件大部分都已經封裝的很好了,稍微有一些基礎的朋友都可以很容易的上手使用,所以本文不涉及具體控件的使用,只在於分析各自的優劣點,但是在下一篇文章裡,我會主要講一下ListBox、GridView、Repeater這三個數據綁定控件的“高效分頁”,ListBox和GridView內置的有分頁,但是其效率太低了,少量的數據還可以,大量的數據根本就沒法用,Repeater控件本身不提供分頁,但是在實際的開發中可能也會有用到分頁,所以也會給大家講一下,Repeater的分頁。
好了,現在開始進入正題,先從比較常用的控件說起。
一、GridView控件
主要特點:支持刪、改,排序、分頁、外觀設置、自定義顯示數據
缺 點:影響程序性能、不支持插入操作
這個控件可以以表格形式(table標簽)顯示、編輯和刪除多種不同的數據源(例如數據庫、XML文件以及集合等)中的數據。GridView控件功能非常強大,如果需要,編程者可以不用編寫任何代碼,通過VS 2008拖拽,並從屬性面板設置屬性即可,還可以完成如分頁、排序、外觀設置等功能。雖然功能非常齊全,但程序性能將受到影響,在頁面中最好不要過多地使用該控件。當然,如果需要自定義格式顯示各種數據,GridView控件也提供了用於編輯格式的模板功能,但是不支持數據的插入。
圖示:
二、ListView控件
主要特點:提供了增、刪、改、排序、分頁等功能,還可以支持用戶自定義模板
缺 點:影響程序性能、大數據分頁效率低
ListView控件會按照編程者編寫的模板格式顯示數據。與DataList和Repeater控件相似,ListView控件也適用於任何具有重復結構的數據。不過,ListView控件提供了用戶編輯、插入和刪除數據等數據操作功能,還提供了對數據進行排序和分頁的功能,只需要在VS 2008中直接設置即可,不需要編寫代碼,這點非常類似於GridView控件。可以說,ListView既有Repeater控件的開放式模板,又具有GridView控件的編輯特性。ListView控件是ASP.NET 3.5新增的控件,其分頁功能需要配合DataPager控件實現。ListView控件是ASP.NET 3.5新增的控件,其分頁功能需要配合DataPager控件實現。但是對於大量數據來說其分頁的效率是很低下的,所以在下一節,我會帶領大家做一個高效的分頁。總的來說,ListView是目前為止功能最齊全、最好用的數據綁定控件。
如圖:
三、Repeater控件
主要優點:該控件是一個完全的開發性控件,可以自如的顯示用戶自定義的顯示方式
缺 點:不支持分頁、排序、編輯,僅提供重復模板內容
Repeater 控件是一個數據綁定容器控件,用於生成各個子項的列表,這些子項的顯示方式可以完全由編程者自己編寫。當控件所在頁面運行時,該控件根據數據源中數據行的數量重復模板中所定義的數據顯示格式,編程者可以完全把握數據的顯示布局,如使用div元素、ul元素等。但是美中不足的是該控件不支持像排序、分頁、編輯之類的功能,僅僅支持重復模板內容功能,但是在實際的開發中可能會有用到分頁之類的功能,所以在下一節,我著重也會講一下Repeater的分頁。
如圖:
四、DataList控件
主要優點:可以自定義格式顯示數據、比較靈活
缺 點:不支持分頁、編輯插入
該控件可以以自定義的格式顯示各種數據源的字段,其顯示數據的格式在創建的模板中定義,可以為項、交替項、選定項和編輯項創建模板。DataList控件也可以使用標題、腳注和分隔符模板自定義整體外觀,還可以一行顯示多個數據行。雖然DataList控件擁有很大的靈活性,但其本身不支持數據分頁,編程者需要通過自己編寫方法完成分頁的功能。僅用於數據的顯示,不支持編輯、插入、刪除。
如圖:
五、DetailsView控件
主要優點:以表格形式顯示單條數據、支持排序、插入、刪除、修改、分頁
缺 點:不支持排序
DetailsView控件以表格形式(table標簽)一次僅顯示數據源的單條記錄,並且table標簽下的每行(tr標簽)表示記錄中的一個字段。這個控件同樣支持數據的編輯、插入和刪除操作,並可以輕松地設置分頁功能,但是DetailsView控件本身不支持數據排序。
如圖:
六、FormView控件
主要優點:顯示單條數據、分頁、增、刪、改,可自定義模板顯示
缺 點:不支持排序
從功能上看FormView控件與DetailsView控件很相似,,FormView控件僅可顯示數據源中的單條記錄。和DetailsView控件不同,DetailsView控件采用表格布局(table標簽),記錄的每個字段都各自顯示為一行。而FormView控件沒有用於顯示記錄的預置布局,編程者需要自己創建子項模板,編寫各種用於顯示記錄中的字段的控件以及布局用的其他HTML標簽。和DetailsView控件一樣,FormView控件可以輕松地啟用分頁功能。如果僅僅顯示單條記錄,FormView控件是比較推薦的方法,因為可以在高效開發的同時自定義數據顯示的格式。
如圖:
七、DropDownList控件
主要優點:多用於多級聯動
缺 點:盡可顯示一個字段
DropDownList控件一般多用於多級聯動,比如省市的聯動等,這裡主要講一下關鍵點,就是要為DropDownList設置要顯示的字段和值顯示字段即:
綁定後結果如下:
到這裡已經把Asp.net常用的數據綁定控件的各自的優劣講析了一下,我們只有深刻的理解各個控件的特點,才可以更好的在合適的情況下,采用合適的控件,更好的促進程序開發。當然,可能在實際的開發過程中,我們都不會用到這些控件,經過微軟的封裝之後產生太多的額外信息,增加了服務器的壓力。但是,還是把這些東西總結了出來,希望可以對大家有所幫助。也希望大家多多指點!