日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

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

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

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

DataSource

屬性的

someDataSource

對(duì)象是一個(gè) DataSet、SqlDataReader、OleDbDataReader 或一個(gè)集合(如 Array、ArrayList 或

System.Collections

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

DataBind()

方法枚舉指定的

DataSource

中的記錄。 對(duì)于

DataSource

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

Items

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

DataGridItem

類的一個(gè)實(shí)例,而 Repeater 中的每一項(xiàng)都是

RepeaterItem

類的一個(gè)實(shí)例。

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

TableRow

類中派生的,這意味著每個(gè)

DataGridItem

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

< table>

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

< table>

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

TableRow

類中派生并不令人驚訝。

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

最后一個(gè)值得注意的是 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 頁(yè)面中顯示數(shù)據(jù)時(shí),很多開發(fā)人員都選擇他們最熟悉的數(shù)據(jù) Web 控件,通常是 DataGrid。 但是這樣的盲目決定不夠明智,因?yàn)楦緵]有通用的“最好的”數(shù)據(jù) Web 控件。 決定為給定的 Web 頁(yè)使用哪個(gè)數(shù)據(jù) Web 控件時(shí),應(yīng)該先就以下各種問題自己考慮一下,以確定哪個(gè)控件最適合手邊的任務(wù)。 您想允許用戶對(duì)數(shù)據(jù)進(jìn)行排序嗎? 需要把數(shù)據(jù)用非 HTML

< table>

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

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

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

最后,Repeater 控件允許對(duì)呈現(xiàn)的 HTML 標(biāo)記進(jìn)行完整和全面的控制。 對(duì)于 Repeater,生成的唯一 HTML 是模板中數(shù)據(jù)綁定語句的值和模板中指定的 HTML 標(biāo)記,而不會(huì)生成象 DataGrid 和 DataList 那樣的“額外”HTML。 由于要求開發(fā)人員指定完整生成的 HTML 標(biāo)記,所以通常 Repeater 需要的開發(fā)時(shí)間最長(zhǎng)。 而且,Repeater 不提供內(nèi)置編輯、排序或分頁(yè)支持。 但是,Repeater 的性能確實(shí)是這三個(gè)數(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)頁(yè)面的五種方案
  4. ASP.NET Login控件使用方法及須知
  5. 什么是ASP.NET MVC,以及其優(yōu)點(diǎn)概覽

當(dāng)前名稱:小議ASP.NET數(shù)據(jù)Web控件之間的異同
文章轉(zhuǎn)載:http://www.5511xx.com/article/codojeg.html