Tutorial Halama...login
Tutorial Halaman Web
pengarang:php.cn  masa kemas kini:2022-04-11 14:20:28

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"):

<?xml version="1.0" encoding="ISO- 8859-1 "?>

<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:

<%@ Import Namespace="System.Data" %>

Seterusnya, untuk XML Fail mencipta DataSet dan memuatkan fail XML ini ke dalam DataSet apabila halaman pertama kali dimuatkan:

<script runat="server">
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:

<html>
<body>

<form runat="server">
< asp:DataList id="cdcatalog" runat="server">

<HeaderTemplate>
...
</HeaderTemplate>

;ItemTemplate>
...
</ItemTemplate>

<FooterTemplate>
...
</FooterTemplate>
<🎜 asp:DataList>
</form>

</body>
</html>
Kemudian kami menambah skrip untuk mencipta Set Data dan ikat mycdcatalog DataSet ke kawalan DataList. Kemudian Isi kawalan DataList dengan <Templat Pengepala> yang mengandungi pengepala, <Templat Item> Sila ambil perhatian bahawa sifat garis grid DataList boleh ditetapkan kepada "kedua-duanya" untuk memaparkan sempadan jadual:

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"
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 Gaya

Anda juga boleh menambah gaya pada kawalan DataList untuk membuat output lebih mewah:

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"
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