DataList 控件,類似於 Repeater 控件,用於顯示限制於該控件的項目的重復列表。不過,DataList 控件會默認地在數據項目上添加表格。
DataList 控件,類似於 Repeater 控件,用於顯示限制於該控件的項目的重復列表。不過,DataList 控件會默認地在數據項目上添加表格。DataList 控件可被綁定到數據庫表、XML 文件或者其他項目列表。這裡,我們將展示如何把 XML 文件綁定到一個 DataList 控件。
我們將在例子中使用下面的 XML 文件 ("cdcatalog.XML"):
<?XML version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>Hide your heart</title> <artist>BonnIE Tyler</artist> <country>UK</country> <company>CBS Records</company> <price>9.90</price> <year>1988</year> </cd> <cd> <title>Greatest Hits</title> <artist>Dolly Parton</artist> <country>USA</country> <company>RCA</company> <price>9.90</price> <year>1982</year> </cd> <cd> <title>Still got the blues</title> <artist>Gary Moore</artist> <country>UK</country> <company>Virgin records</company> <price>10.20</price> <year>1990</year> </cd> <cd> <title>Eros</title> <artist>Eros Ramazzotti</artist> <country>EU</country> <company>BMG</company> <price>9.90</price> <year>1997</year> </cd> </catalog>
首先,導入 "System.Data" 命名空間。我們需要此命名空間與 DataSet 對象一同工作。在 .ASPx 頁面的頂部包含下面這條指令:本文由網頁教學網webjx.com整理發布!轉載請注明出處,謝謝!
<%@ Import Namespace="System.Data" %>
接下來,為這個 XML 文件創建一個 DataSet,並把此 XML 文件在頁面首次加載時載入 DataSet:
<script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycdcatalog=New DataSet mycdcatalog.ReadXml(MapPath("cdcatalog.XML")) end if end sub
然後我們在 .ASPx 頁面中創建一個 DataList 控件。<HeaderTemplate> 元素中的內容在輸出中僅出現一次,而 <ItemTemplate> 元素的內容會對應 DataSet 中的 "record" 重復出現,最後,<FooterTemplate> 的內容在輸出中僅出現一次:
<html> <body> <form runat="server"> <asp:DataList id="cdcatalog" runat="server"> <HeaderTemplate> ... </HeaderTemplate> <ItemTemplate> ... </ItemTemplate> <FooterTemplate> ... </FooterTemplate> </ASP:DataList> </form> </body> </Html>
然後我們添加可創建 DataSet 的腳本,並把這個 mycdcatalog DataSet 綁定到 DataList 控件。我們同樣使用這些元素來填充該 DataList 控件:包含表頭的 <HeaderTemplate>,包含要顯示的數據項的 <ItemTemplate>,以及包含文本的 <FooterTemplate>。請注意,DataList 的 gridlines 屬性被設置為 "both",以顯示表格邊框:本信息代表文章來源網頁教學webjx.com請大家去www.webjx.com浏覽!
<%@ Import Namespace="System.Data" %> <script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycdcatalog=New DataSet mycdcatalog.ReadXml(MapPath("cdcatalog.XML")) cdcatalog.DataSource=mycdcatalog cdcatalog.DataBind() end if end sub </script> <html> <body> <form runat="server"> <asp:DataList id="cdcatalog" gridlines="both" runat="server"> <HeaderTemplate> My CD Catalog </HeaderTemplate> <ItemTemplate> "<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%> - ___FCKpd___4lt;%#Container.DataItem("price")%> </ItemTemplate> <FooterTemplate> Copyright webjx.com </FooterTemplate> </ASP:DataList> </form> </body> </Html>
您也可以向 DataList 控件添加樣式,讓它更加時髦:
<%@ Import Namespace="System.Data" %> <script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycdcatalog=New DataSet mycdcatalog.ReadXml(MapPath("cdcatalog.XML")) cdcatalog.DataSource=mycdcatalog cdcatalog.DataBind() end if end sub </script> <html> <body> <form runat="server"> <asp:DataList id="cdcatalog" runat="server" cellpadding="2" cellspacing="2" border backcolor="#e8e8e8" width="100%" headerstyle-font-name="Verdana" headerstyle-font-size="12pt" headerstyle-horizontalalign="center" headerstyle-font-bold="true" itemstyle-backcolor="#778899" itemstyle-forecolor="#ffffff" footerstyle-font-size="9pt" footerstyle-font-italic="true"> <HeaderTemplate> My CD Catalog </HeaderTemplate> <ItemTemplate> "<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%> - ___FCKpd___5lt;%#Container.DataItem("price")%> </ItemTemplate> <FooterTemplate> Copyright webjx.com </FooterTemplate> </ASP:DataList> </form> </body> </Html>
您可以在 <ItemTemplate> 元素後添加 <AlternatingItemTemplate> 元素,這樣就可以描述交替行的外觀了。您可以在 DataList 控件內部對 <AlternatingItemTemplate> 部分的數據進行樣式化處理:本文由網頁教學網(webjx.com)發布!轉載和采集的話請不要去掉!謝謝。
<%@ Import Namespace="System.Data" %> <script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycdcatalog=New DataSet mycdcatalog.ReadXml(MapPath("cdcatalog.XML")) cdcatalog.DataSource=mycdcatalog cdcatalog.DataBind() end if end sub </script> <html> <body> <form runat="server"> <asp:DataList id="cdcatalog" runat="server" cellpadding="2" cellspacing="2" border backcolor="#e8e8e8" width="100%" headerstyle-font-name="Verdana" headerstyle-font-size="12pt" headerstyle-horizontalalign="center" headerstyle-font-bold="True" itemstyle-backcolor="#778899" itemstyle-forecolor="#ffffff" alternatingitemstyle-backcolor="#e8e8e8" alternatingitemstyle-forecolor="#000000" footerstyle-font-size="9pt" footerstyle-font-italic="True"> <HeaderTemplate> My CD Catalog </HeaderTemplate> <ItemTemplate> "<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%> - ___FCKpd___6lt;%#Container.DataItem("price")%> </ItemTemplate> <AlternatingItemTemplate> "<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%> - ___FCKpd___6lt;%#Container.DataItem("price")%> </AlternatingItemTemplate> <FooterTemplate> © webjx.com </FooterTemplate> </ASP:DataList> </form> </body> </Html>