成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

小議ASP.NET數據Web控件之間的異同

開發 后端
本文對三個主要的ASP.NET數據Web控件,即DataGrid、DataList和Repeater的異同之處做了一些研究。三個控件都是用于顯示數據的。

ASP.NET數據Web控件也就是DataGrid、DataList和Repeater。研究差異之前首先要了解相似性。從較高級別觀點來看,最基本的相似性是,DataGrid、DataList 和 Repeater都設計為了執行大致相同的操作: 顯示數據。 另一個相似性把數據綁定到數據 Web 控件所需的代碼。 具體地說,只需要下面兩行代碼:

  1. dataWebControlID.DataSource = someDataSource  
  2. dataWebControlID.DataBind()  

通常,賦給ASP.NET數據Web控件的

DataSource

屬性的

someDataSource

對象是一個 DataSet、SqlDataReader、OleDbDataReader 或一個集合(如 Array、ArrayList 或

System.Collections

命名空間中的其他某個類)。 但是,任何實現 IEnumerable 接口的對象都可以綁定到數據 Web 控件。

DataBind()

方法枚舉指定的

DataSource

中的記錄。 對于

DataSource

中的每一條記錄,都會創建一個項并追加到數據 Web 控件的

Items

集合中。 數據 Web 控件中的每一項都是一個類實例。 用于控件每一項的特定類取決于該數據 Web 控件。 例如,DataGrid 中的每一項都是

DataGridItem

類的一個實例,而 Repeater 中的每一項都是

RepeaterItem

類的一個實例。

每個數據 Web 控件會為它的每一項使用不同的類,因為是這些項呈現的方式決定了數據 Web 控件生成的 HTML 標記。 例如,DataGridItem 類是從

TableRow

類中派生的,這意味著每個

DataGridItem

都或多或少地呈現為一個表行。 這很有意義,因為 DataGrid 設計為在 HTML

< table>

標記內以表格形式顯示數據,在 HTML

< table>

中,每一項都呈現為單獨一行。 另一方面,Repeater 設計為允許對它的輸出進行完全自定義。 因此,RepeaterItem 類不從

TableRow

類中派生并不令人驚訝。

ASP.NET數據Web控件之間的另一個相似性是每個控件都能使用模板提供高度自定義的輸出。 DataList 和 Repeater 控件必須 使用模板指定它們的內容,而 DataGrid 則通過 TemplateColumn 列類型可以為特定的列選擇使用模板(我們將在下一節“研究 DataGrid Web 控件”中討論各種不同的 DataGrid 列類型)。

最后一個值得注意的是 DataGrid 和 DataList 控件是從

WebControl

類中派生的,而 Repeater 控件是從

Control

類中派生的。

WebControl

類包含許多美學方面的屬性,例如

BackColor

ForeColor

CssClass

BorderStyle

等。 這意味著如果使用 DataGrid 和 DataList,就可以通過它們從

WebControl

類中繼承的屬性指定樣式設置。 而 Repeater 沒有任何這樣的樣式屬性。

ASP.NET數據Web控件的區別與選擇

在 ASP.NET Web 頁面中顯示數據時,很多開發人員都選擇他們最熟悉的數據 Web 控件,通常是 DataGrid。 但是這樣的盲目決定不夠明智,因為根本沒有通用的“最好的”數據 Web 控件。 決定為給定的 Web 頁使用哪個數據 Web 控件時,應該先就以下各種問題自己考慮一下,以確定哪個控件最適合手邊的任務。 您想允許用戶對數據進行排序嗎? 需要把數據用非 HTML

< table>

的格式顯示嗎? 頁面會被大量訪問嗎,因而性能是一個關鍵的問題嗎?

因為 DataGrid 能允許最終用戶排序、分頁和編輯它的數據,所以這三個數據 Web 控件中 DataGrid Web 控件提供了最好的功能集。 因為使用 DataGrid 時只需要把它添加到 Web 頁面中并寫幾行代碼,所以 DataGrid 也是最簡單易用的數據 Web 控件。 但是,容易使用和強大的功能是要付出代價的,如性能的代價: DataGrid 是三個數據 Web 控件中效率最低的,特別是當把它放置在 Web 窗體中時。

通過使用模板,DataList 對顯示的數據外觀提供了比 DataGrid 更多的控制。 但是,使用模板通常比使用 DataGrid 的列類型需要更多的開發時間 DataList 還支持數據的內聯編輯,但是實現起來需要的工作量比 DataGrid 多。 遺憾的是,在 DataList 中提供分頁和排序支持不是一件簡單的事。 DataList 比 DataGrid 提供了更好的性能,從而彌補了這些缺少的內置功能。

最后,Repeater 控件允許對呈現的 HTML 標記進行完整和全面的控制。 對于 Repeater,生成的唯一 HTML 是模板中數據綁定語句的值和模板中指定的 HTML 標記,而不會生成象 DataGrid 和 DataList 那樣的“額外”HTML。 由于要求開發人員指定完整生成的 HTML 標記,所以通常 Repeater 需要的開發時間最長。 而且,Repeater 不提供內置編輯、排序或分頁支持。 但是,Repeater 的性能確實是這三個數據 Web 控件中最好的。 它的性能可與 DataList 相比,但明顯比 DataGrid 好。

【編輯推薦】

  1. 從傳統ASP到ASP.NET的轉變:了解控件
  2. ASP.NET調試API之Log4net使用指南
  3. 使用ASP.NET模板生成HTML靜態頁面的五種方案
  4. ASP.NET Login控件使用方法及須知
  5. 什么是ASP.NET MVC,以及其優點概覽
責任編輯:yangsai 來源: MSDN
相關推薦

2009-08-03 15:43:22

asp.net控件

2009-08-07 17:41:07

ASP.NET Web

2009-07-30 12:42:19

html控件和web控

2009-10-09 10:52:43

ASP.NET模板引擎

2009-07-27 13:52:36

Panel控件ASP.NET

2009-08-17 10:16:26

ASP.NET的WEB

2009-07-28 14:22:05

數據源控件ASP.NET

2009-08-04 15:20:59

ASP.NET數據驗證數據驗證控件

2009-07-24 17:15:52

SiteMapData

2009-08-07 15:34:15

ASP.NET數據綁定

2009-07-24 15:35:00

ASP.NET Gri

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-07-20 13:32:24

ScriptManagASP.NET

2009-08-04 11:29:14

HTML代碼ASP.NET控件

2012-09-26 09:46:29

ASP.NETWeb框架

2009-07-27 16:19:59

ASP.NET報表控件

2009-08-17 09:24:25

ASP.NET控件

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-03 15:08:00

SqlDataSour

2009-07-29 13:50:26

UpdatePanelASP.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲网站观看 | 亚洲国产精品视频 | 黄色毛片免费看 | 国产精品一区二区三区在线 | 精精国产xxxx视频在线播放 | 久久久久国产精品一区二区 | 中文字幕视频在线 | 欧美激情在线一区二区三区 | 久草在线 | 国产成人久久av免费高清密臂 | 久草中文网 | av一级久久 | 国产精品免费一区二区三区四区 | 黄网站涩免费蜜桃网站 | 国产乱码精品一区二区三区中文 | 一二区电影 | 日韩色视频 | 性高朝久久久久久久3小时 av一区二区三区四区 | 999国产精品视频免费 | 三级视频在线观看 | 波多野结衣一区二区三区在线观看 | 久久亚洲欧美日韩精品专区 | 久久久久久久久久久久一区二区 | 综合国产在线 | 91精品在线播放 | 欧美专区日韩专区 | 麻豆视频国产在线观看 | 午夜视频在线观看一区二区 | 极品粉嫩国产48尤物在线播放 | 成人一区二区三区在线 | 国产成人a亚洲精品 | 欧美一级淫片免费视频黄 | 精品国产一区二区三区久久久四川 | av网站在线免费观看 | 国产精品一区二区不卡 | 成人美女免费网站视频 | 色综合久 | 日韩av.com | 91在线网站 | 国产一区久久精品 | h片在线播放|