(轉)ASP.NET 3.5中的ListView控件和DataPager控件

導讀:
  原文地址:http://www.west-wind.com/WebLog/posts/127340.aspx
  [譯者改後源碼下載]
  [翻譯]ASP.NET 3.5中的ListView控件和DataPager控件
  原文發佈日期:2007.08.02
  作者:Rick Strahl
  翻譯:webabcd
  介紹
  今天,我花了幾個小時的時間研究了一下ASP.NET 3.5中的ListView控件和DataPager控件。 這兩個控件是ASP.NET中新增的、非常受歡迎的控件。 ListView控件集成了DataGrid、DataList、Repeater和GridView控件的所有功能。 它可以像Repeater控件那樣,讓我們在控件內寫任何HTML代碼。
  可以說,ListView就是DataGrid和Repeater的結合體,它既有Repeater控件的開放式模板,又具有DataGrid控件的編輯特性。 這絕對是一個可以引起你興趣的好東東,因爲它給你提供了比DataGird豐富得多的佈局手段,同時又具有DataGrid的所有特性。 ListView控件本身並不提供分頁功能,但是我們可以通過另一個控件 –DataPager來實現分頁的特性。 把分頁的特性單獨放到另一個控件裏,會給我們帶來很多好處,比如說可以讓別的控件使用它,又比如說我們可以把它放在頁面的任何地方。 實質上,DataPager就是一個擴展ListView分頁功能的控件。
  ListView控件
  ListView是用來顯示數據的,它的使用類似於Repeater控件。 ListView控件中有n多模板,出示如下:
  LayoutTemplate
  ItemTemplate
  AlternatingItemTemplate
  SelectedItemTemplate
  EmptyItemTemplate
  EmptyDataTemplate
  ItemSeparatorTemplate
  GroupTemplate
  GroupSeparatorTemplate
  EditItemTemplate
  InsertItemTemplate
  它有很多的模板。 其中有許多新增的模板,如GroupTemplate和InsertItemTemplate。 現在我們可能還無法瞭解GroupTemplate是如何工作的(後面會有介紹),但是對於InsertItemTemplate來說,一看就知道它是用於添加記錄的(在之前的DataGird中是沒有這個模板的)。
  繼續摸索這個控件後,我發現它可以讓你在它的模板內寫任何HTML標記或控件,這將給我們帶來很大的自由度。
  用ListView顯示數據
  開始,你可以把ListView當作是Repeater來使用,也就是說它是模板驅動型的控件,其中的LayoutTemplate是ListView的一個佈局模板。 參考如下示例:
  
  
  <  
  
  DataSourceID="Data"
  
  
  ItemContainerID="layoutTemplate"
  
  
  DataKeyNames="Pk"
  
  >
  
  
  
  
  

  
  
  
  
  
  
  
  
  
  
  

  
  
  
  

  
  
  
  

  
  
  
  

  LayoutTemplate用來決定包裹着詳細內容的容器的標記。 你可以在佈局模板內放置任何控件,不過它必須要是服務端控件(runat=”server”)。 另外,你還需要指定ListView控件的ItemContainerID屬性,它用來告知ListView在哪個容器下顯示詳細內容。 在上面的例子中,LayoutTemplate其實並沒有起到什麼作用,因爲它只是將ListView顯示的詳細內容放到了一個
標記下而已。 但是,我們也可以用它來顯示覆雜的佈局,如
  
  

  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
  
  
  
發佈了23 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章