日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
小議ASP.NET數(shù)據(jù)Web控件之間的異同

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

站在用戶的角度思考問題,與客戶深入溝通,找到寶豐網(wǎng)站設(shè)計與寶豐網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋寶豐地區(qū)。

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

通常,賦給ASP.NET數(shù)據(jù)Web控件的

DataSource

屬性的

someDataSource

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

System.Collections

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

DataBind()

方法枚舉指定的

DataSource

中的記錄。 對于

DataSource

中的每一條記錄,都會創(chuàng)建一個項并追加到數(shù)據(jù) Web 控件的

Items

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

DataGridItem

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

RepeaterItem

類的一個實例。

每個數(shù)據(jù) Web 控件會為它的每一項使用不同的類,因為是這些項呈現(xiàn)的方式?jīng)Q定了數(shù)據(jù) Web 控件生成的 HTML 標記。 例如,DataGridItem 類是從

TableRow

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

DataGridItem

都或多或少地呈現(xiàn)為一個表行。 這很有意義,因為 DataGrid 設(shè)計為在 HTML

< table>

標記內(nèi)以表格形式顯示數(shù)據(jù),在 HTML

< table>

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

TableRow

類中派生并不令人驚訝。

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

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

WebControl

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

Control

類中派生的。

WebControl

類包含許多美學(xué)方面的屬性,例如

BackColor

、

ForeColor

CssClass

、

BorderStyle

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

WebControl

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

ASP.NET數(shù)據(jù)Web控件的區(qū)別與選擇

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

< table>

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

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

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

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

【編輯推薦】

  1. 從傳統(tǒng)ASP到ASP.NET的轉(zhuǎn)變:了解控件
  2. ASP.NET調(diào)試API之Log4net使用指南
  3. 使用ASP.NET模板生成HTML靜態(tài)頁面的五種方案
  4. ASP.NET Login控件使用方法及須知
  5. 什么是ASP.NET MVC,以及其優(yōu)點概覽

文章題目:小議ASP.NET數(shù)據(jù)Web控件之間的異同
鏈接URL:http://www.dlmjj.cn/article/codojeg.html