Senarai Data Borang Web
Borang Web ASP.NET - Kawalan DataList
Kawalan DataList, serupa dengan kawalan Repeater, digunakan untuk memaparkan data yang terikat pada kawal Senarai pendua item. Walau bagaimanapun, kawalan DataList menambah jadual pada item data secara lalai.
Ikat Set Data kepada kawalan DataList
Kawalan Senarai Data, serupa dengan kawalan Repeater, digunakan untuk memaparkan senarai berulang item yang terikat pada kawalan. Walau bagaimanapun, kawalan DataList menambah jadual pada item data secara lalai. Kawalan DataList boleh diikat pada jadual pangkalan data, fail XML atau senarai item lain. Di sini kami akan menunjukkan cara untuk mengikat fail XML kepada kawalan DataList.
Dalam contoh kami, kami akan menggunakan fail XML berikut ("cdcatalog.xml"):
<katalog>
<cd>
<title>Empire Burlesque</title>
<artis>Bob Dylan</artis>
<country>AS</country>
<syarikat>Columbia</syarikat>
<harga>10.90</harga>
<tahun>1985</tahun>
</cd>
<cd>
<title>Sembunyikan hati anda</title>
<artis>Bonnie Tyler</artis>
<country>UK</country>
<syarikat>Rekod CBS</syarikat>
<harga>9.90</harga>
<tahun>1988</tahun>
</cd>
<cd>
<title>Greatest Hits</title>
<artis>Dolly Parton</artis>
<country>AS</country>
<syarikat>RCA</syarikat>
<harga>9.90</harga>
<tahun>1982</tahun>
</cd>
<cd>
<title>Masih mendapat blues</title>
<artis>Gary Moore</artis>
<country>UK</country>
<syarikat>Rekod dara</syarikat>
<harga>10.20</harga>
<tahun>1990</tahun>
</cd>
<cd>
<title>Eros</title>
<artis>Eros Ramazzotti</artis>
<country>EU</country>
<syarikat>BMG</syarikat>
<harga>9.90</harga>
<tahun>1997</tahun>
</cd>
</katalog>
Lihat fail XML ini: cdcatalog.xml
Mula-mula, import ruang nama "System.Data". Kami memerlukan ruang nama ini untuk berfungsi dengan objek DataSet. Sertakan arahan berikut di bahagian atas halaman .aspx:
Seterusnya, untuk XML Fail mencipta DataSet dan memuatkan fail XML ini ke dalam DataSet apabila halaman pertama kali dimuatkan:
sub Page_Load
if Not Page. IsPostBack kemudian
, dim mycdcatalog=Set Data Baharu
, mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub
Kemudian kami mencipta kawalan DataList dalam halaman .aspx. Kandungan dalam elemen <HeaderTemplate> dipaparkan dahulu dan muncul sekali sahaja dalam output, manakala kandungan dalam <ItemTemplate> diulang untuk setiap "rekod" dalam Set Data, dan akhirnya, kandungan dalam < Elemen FooterTemplate> Kandungan hanya muncul sekali dalam output:
<body>
<form runat="server">
< asp:DataList id="cdcatalog" runat="server">
<HeaderTemplate>
...
</HeaderTemplate>
;ItemTemplate>
...
</ItemTemplate>
<FooterTemplate>
...
</FooterTemplate>
<🎜 asp:DataList>
</form>
</body>
</html>
<%@ 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> <!DOCTYPE html> <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")%> - $<%#Container.DataItem("price")%> </ItemTemplate> <FooterTemplate> © Hege Refsnes </FooterTemplate> </asp:DataList> </form> </body> </html>
Contoh Berjalan» Klik butang "Jalankan Instance" untuk melihat contoh dalam talian
Gunakan GayaAnda juga boleh menambah gaya pada kawalan DataList untuk membuat output lebih mewah:
<%@ 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> <!DOCTYPE html> <html> <body> <form runat="server"> <asp:DataList id="cdcatalog" runat="server" cellpadding="2" cellspacing="2" borderstyle="inset" 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")%> - $<%#Container.DataItem("price")%> </ItemTemplate> <FooterTemplate> © Hege Refsnes </FooterTemplate> </asp:DataList> </form> </body> </html>
Run Instance»Klik butang "Run Instance" untuk melihat dalam talian contoh
Menggunakan <AlternatingItemTemplate>
Anda boleh menambah elemen <AlternatingItemTemplate> selepas elemen <ItemTemplate> Anda boleh menambah gaya pada data dalam kawasan <AlternatingItemTemplate> dalam kawalan DataList:
Instance
<%@ 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> <!DOCTYPE html> <html> <body> <form runat="server"> <asp:DataList id="cdcatalog" runat="server" cellpadding="2" cellspacing="2" borderstyle="inset" 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")%> - $<%#Container.DataItem("price")%> </ItemTemplate> <AlternatingItemTemplate> "<%#Container.DataItem("title")%>" of <%#Container.DataItem("artist")%> - $<%#Container.DataItem("price")%> </AlternatingItemTemplate> <FooterTemplate> © Hege Refsnes </FooterTemplate> </asp:DataList> </form> </body> </html>
Jalankan instance»
Klik butang "Jalankan Instance" untuk melihat contoh dalam talian