• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

        對于何種情況下運用DataGrid、DataList或Repeater的一些討論(2)

        對于何種情況下運用DataGrid、DataList或Repeater的一些討論(2)

        更新時間:2019-05-30 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        [DataGrid控件]



          在三種控件當(dāng)中,DataGrid是迄今為止功能最為豐富的,但也是最不靈活的控件。這種在輸出HTML時不夠靈活的特點是因為它最初就是被設(shè)計成以表格的形式輸出數(shù)據(jù)。每一條記錄輸出時會建立一對<tr>標簽,而每個字段的值輸出時則建立一對<td>標簽。

          DataGrid含有幾個屬性可以提高其可用性。如,通過設(shè)置DataGrid的AllowSorting屬性為true,并加入少量代碼,DataGrid就具備了按不同字段排序的功能。此外,設(shè)定相關(guān)屬性來實現(xiàn)分頁以及單條記錄編輯的功能更加增強了DataGrid的可用性。

          除了在可用性方面的支持以外,DataGrid同時也相當(dāng)節(jié)省開發(fā)時間。使用DataGrid在WEB頁面上顯示數(shù)據(jù)只需要兩行代碼。一行用來設(shè)定與DataGrid綁定的數(shù)據(jù)源(DataSource),另一條則用來執(zhí)行綁定命令(DataBind())。當(dāng)然,在Repeater中實現(xiàn)這樣的功能并非不可能,只是,相比較使用DataGrid而言,你需要花費相當(dāng)多的時間和精力來實現(xiàn)這些功能。

          盡管DataGrid有這樣那樣令人印象深刻的優(yōu)點,它的兩個缺點也同樣不能忽視。首先,如前所述,DataGrid在個性化輸出數(shù)據(jù)方面功能有限。當(dāng)然,你可以定制字體、顏色以及線條寬度等等,但它始終只能是HTML表格。

          每個在DataGrid中的列都是DataGridColumn類的一個實例。有五種DataGrid列的形式:

          ·BoundColumn

          ·ButtonColumn

          ·EditColumn

          ·HyperLinkColumn

          ·TemplateColumn

          每種類型都會以一種方式允許頁面訪問與DataGrid進行交互。例如,BoundColumn將DataSource的字段值顯示為純文本;而HyperLinkColumn則將之顯示為一個超級鏈接。另外,開發(fā)者可以通過寫一個繼承自DataGridColumn的自定義類來定制DataGrid列的樣式。

          盡管DataGrid具有這么多的增強可用性的屬性,卻仍然顯得死板而不夠靈活。這是因為,不論什么樣的屬性,都需要對DataGrid所生成的表格進行相關(guān)的設(shè)置而生效。這無疑會使表格變得臃腫而失去靈活性。例如,DataGridColumn的設(shè)置會對表格的每一行的相應(yīng)列生效。DataGrid的這種局限性阻礙了更有創(chuàng)意地顯示數(shù)據(jù)。比如,你希望每五條記錄被顯示在一行,或根本不想要表格來顯示數(shù)據(jù),你將不得不放棄使用DataGrid。

          DataGrid的第二個缺陷是它的性能。在三種數(shù)據(jù)控件中,DataGrid是相對性能最差的。由DataGrid所生成的ViewState將會相當(dāng)龐大,特別是在DataGrid含有較多的行時。當(dāng)然,你也可以關(guān)閉ViewState功能,但代價是你將不能使用排序、分頁以及記錄編輯等功能。

          為了測量DataGrid的性能,我使用了微軟的Web Application Stress Tool (WAST)。精確的測試條件設(shè)定以及測試用代碼將會在本文的結(jié)尾給出。

          WAST將會對WEB服務(wù)器發(fā)出對一個特定URL的請求。每個測試將會針對一個URL在一分鐘之內(nèi)連續(xù)不斷地請求。WAST將會一個代表性能的數(shù)值,代表WEB服務(wù)器將會在一秒鐘內(nèi)執(zhí)行ASP.Net頁面多少次。

          兩個測試將顯示一個僅僅顯示數(shù)據(jù)的DataGrid。DataGrid將會顯示Northwinds數(shù)據(jù)庫中的Customers表的4個字段的內(nèi)容(總計91條記錄)。DataGrid的AutoGenerateColumns屬性將會被設(shè)為True。第一個測試將DataGrid置于一個Form中,第二個則不置于Form中。將控件置于Form中而不指定其EnableViewState為False,則控件將會一直使用ViewState來維持其狀態(tài)。對ViewState的設(shè)定是為了有一個耗時的處理過程,來看一下它對于每秒種的頁面請求有什么樣的影響。測試結(jié)果見圖1。







        圖1:對DataGrid的每秒請求次數(shù)



          在下面我們要討論并測試的DataList和Repeater中,我們會看到它們的性能將優(yōu)于DataGrid。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 国产AV无码专区亚洲Av| 亚洲人成影院在线观看| 亚洲一区免费观看| 成年免费a级毛片免费看无码| 国产传媒在线观看视频免费观看| 亚洲日本中文字幕天天更新| 男女免费观看在线爽爽爽视频| 久久亚洲精精品中文字幕| 日韩在线永久免费播放| 亚洲精品亚洲人成在线观看麻豆 | 亚洲国产人成在线观看69网站 | 特级毛片全部免费播放| 超pen个人视频国产免费观看| 亚洲国产精品网站在线播放| 国产v片免费播放| 人成免费在线视频| 亚洲一区二区三区影院 | 啦啦啦中文在线观看电视剧免费版| 亚洲乱码一二三四区国产| 亚洲精品动漫免费二区| 亚洲精品无码专区在线播放| 午夜精品在线免费观看| 亚洲av色香蕉一区二区三区蜜桃| 在线观看免费为成年视频| 色窝窝亚洲av网| 亚洲精品亚洲人成在线观看| 免费在线中文日本| 亚洲人配人种jizz| 国产一级淫片a免费播放口之| 久久久久久久国产免费看| 亚洲avav天堂av在线不卡| 国产92成人精品视频免费| 亚洲av日韩av永久在线观看 | 8x网站免费入口在线观看| 亚洲一区二区观看播放| 亚洲 小说区 图片区 都市| 免费精品一区二区三区第35| 亚洲精品人成网在线播放影院| 丁香亚洲综合五月天婷婷| 无码AV片在线观看免费| 亚洲精品亚洲人成在线|