程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET 2.0 中對DataList,DatGrid,Repeater的小議

ASP.NET 2.0 中對DataList,DatGrid,Repeater的小議

編輯:.NET實例教程

ASP.Net提供了三個數據控件,使得原本在ASP中繁雜的工作變得簡單。
這三個控件屬於數據Web控件,分別是DataList,DataGrid和Repeater。
 一般都是從datagrid開始的(至少我是這樣開始的),每種數據控件
都有其自身的缺陷,因此在程序設計中並不存在最完美的選擇。你必
須權衡三種控件的優缺點並決定哪一種更加適合你的程序。

  三者共同點:
   1.是用來顯示數據
   2.需要來進行綁定
   dataWebControlID.DataSource=someDataSource
   dataWebControlID.DataBind()
   someDataSource 一般是指數據控件的數據源,包括dataset,SqlDataReader
   OleDbDataReader或一組數據
   DataBind()遍歷一個特點的DataSource中的記錄,並對其中的每條
   記錄,建立一個對應的Item集。數據控件中的每條記錄將成為一個實例。
   例如,DataGrid中的每個條目是DataGridItem類的一個實例,而Repeater
   中的條目則是RepeaterItem類的一個實例。
   3.種控件都被允許使用模板顯示數據。
 三者的不同點:
   DataList 和 Repeater 控件必須使用模板來輸出數據,DataGrid允許通過 TemplateColumn 而只使用模板來顯示一列DataList放棄了DataGrid中列表顯示數據的概念,而是使用事先定義好的模板
  (Template)來定制顯示:
   <ASP:DataList runat="server" id="myDataList">
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "CompanyName") %>
      </ItemTemplate>
  </ASP:DataList>

   ItemTemplate還支持其它其它6種模板:
  ·AlternatingItemTemplate
  ·EditItemTemplate
  ·FooterTemplate
  ·HeaderTemplate
  ·ItemTemplate
  ·SelectedItemTemplate
  ·SeparatorTemplate
    通過EditItemIndex模板和EditCommand,UpdateCommand以及CancelCommand
事件,DataList將支持記錄編輯的功能。
    DataList的性能要比DataGrid好一些,特別是當DataList被包含在Form當中時
Repeater控件
    Repeater控件是三種數據控件中在Html輸出方面最為靈活的控件,使用模板來
    指定輸出樣式。Repeater支持如下五種模板:
  ·AlternatingItemTemplate
  ·FooterTemplate
  ·HeaderTemplate
  ·ItemTemplate
  ·SeparatorTemplate
    Repeater類不是繼承自WebControl類的,這一點與DataGrid和DataList不同。
    Repeater唯一優於DataGrid和DataList的特點是它的性能,尤其明顯優於DataGrid

    DataGrid提供了最多的功能,如允許訪問者對記錄編輯、排序或分頁。同時它也是最容易使用的,甚至於簡單到只需要將之添加到頁面中而不必額外編寫代碼。不過這些易用性是以性能的損失為代價的。DataGrid在三種控件中是效率最低的,特別是在使用Web Form的情況下。通過使用模板,DataList提供了比DataGrid更加優秀的界面效果。不過這需要以犧牲一定的開發時間為代價。

$False$

為了添加排序、分頁和編輯功能,程序員不得不花費比使用DataGrid更多的精力來進行編碼,雖然它的性能要優於DataGrid。

  最後,Repeater允許對數據記錄作最大限度的Html定制。通常,使用Repeater來顯示數據記錄比使用DataGrid和DataList要耗費更長的開發時間。另外,它不支持內建的編輯、排序和分頁功能。所幸的是,Repeater在性能上要優於其它兩種控件,特別是明顯優於DataGrid。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved