程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET ListView控件學習系列1-了解ListView控件

ASP.NET ListView控件學習系列1-了解ListView控件

編輯:關於ASP.NET

ASP.NET中新的ListView控件為顯示和CURD數據庫操作提供了基於模板的布局,使之成為一項極好的方式,建立以數據為中心的Web應用程序。

當你編寫以用戶為中心的應用程序時,總需要某種形式的數據集,起碼來說,你需要從一個數據源如關系數據庫或XML文件檢索數據,在顯示給用戶之前先要進行格式化,盡管ASP.NET之前的版本就提供了以數據為中心的顯示控件如GridView,這些控件缺乏專業Web開發人員需要的可自定義和可擴展特性,為了解決這個問題,ASP.NET3.5提供了一個新的控件ListView,它提供了非常優秀的自定義和擴展特性,使用這些特性,你可以以任何格式顯示數據,使用模板和樣式,同時用最少的代碼執行CURD(創建、讀取、更新、刪除)操作。本文主要集中於使用新的ListView控件時數據訪問步驟,同時還包括高級特性如編輯數據和處理事件。

ListView控件入門

ASP.NET提供的大部分數據綁定控件都是使用額外的標記自動封裝顯示數據,舉例來說,GridView控件在一個HTML表格(<table>)中顯示它的數據,每條記錄顯示一行(<tr>),每個字段顯示為一個單元格(<td>),雖然你可以使用TemplateField組件自定義GridView的外觀,但GridView的輸出仍然是限制在一個table組件中的,但有時候你想要完全控制由數據綁定控件產生的HTML標記的外觀,這正是ListView控件的優勢,ListView控件不是使用額外的標記來封裝它的輸出內容,而是靠你指定的精確的HTML描述,使用ListView控件內置的模板就可以指定精確的標記,表1列出了ListView控件支持的模板。

模板 用途 AlternatingItemTemplate交替項目模板 用不同的標記顯示交替的項目,便於查看者區別連續不斷的項目 EditItemTemplate編輯項目模板 控制編輯時的項目顯示 EmptyDataTemplate空數據模板 控制ListView數據源返回空數據時的顯示 EmptyItemTemplate空項目模板 控制空項目的顯示 GroupSeparatorTemplate組分隔模板 控制項目組內容的顯示 GroupTemplate組模板 為內容指定一個容器對象,如一個表行、div或span組件 InsertItemTemplate插入項目模板 用戶插入項目時為其指定內容 ItemSeparatorTemplate項目分隔模板 控制項目之間內容的顯示 ItemTemplate項目模板 控制項目內容的顯示 LayoutTemplate布局模板 指定定義容器對象的根組件,如一個table、div或span組件,它們包裝ItemTemplate或GroupTemplate定義的內容。 SelectedItemTemplate已選擇項目模板 指定當前選中的項目內容的顯示

最關鍵的兩個模板是LayoutTemplate和ItemTemplate,正如名字暗示的那樣,LayoutTemplate為ListView控件指定了總的標記,

而ItemTemplate指定的標記用於顯示每個綁定的記錄,例如:下面的代碼顯示了在ListView中由HTML table控制的一串項目。

<asp:ListView ID="..." runat="server" DataSourceID="...">
<LayoutTemplate>
<table …….>
<tr runat="server" ID="itemPlaceholder"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("Name") %></td>
</tr>
</ItemTemplate>
</asp:ListView>

在前面的代碼中,LayoutTemplate標記內的<tr>標記的ID是設置項目占位符(itemPlaceHolder),它告訴ListView通過<table>內的ItemTemplate產生的內容要放到什麼地方,這就是為什麼你需要單獨定義LayoutTemplate和ItemTemplate模板的原因。

一個簡單的數據綁定的例子

你已經看到LisView控件支持的多個模板了,下一步是要創建一個簡單的web站點,名字就叫做ListViewExample(你可以從http://assets.devx.com/sourcecode/38579_tt_mainsource.zip下載該站點的示例代碼),創建好web站點後,選擇Web站點?添加新項目,添加一個新的ASP.NET頁面,名字命名為SimpleListView.aspx(見清單1),這個頁面將使用ListView控件從AdventureWorks示例數據庫中的Product表顯示產品數據。

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