ASP.NET - DataList Control

DataList Control, ຄ້າຍຄືກັບ Repeater Control, ເພື່ອສະແດງບັນດາບັນທຶກທີ່ຈະຖືກຈຳກັດໂດຍ Control. DataList Control ຈະແຕ່ງໂຕເອົາຕາຕະລາງທີ່ຂອງບັນດາບັນທຶກໂດຍຄົນລົງ.

ຕິດຕໍ່ DataSet ກັບ DataList Control

ຖືກຄວບຄຸມ DataList Control, ຄ້າຍຄືກັບ Repeater Control, ເພື່ອສະແດງບັນດາບັນທຶກທີ່ຈະຖືກຈຳກັດໂດຍ Control. DataList Control ຈະແຕ່ງໂຕເອົາຕາຕະລາງທີ່ຂອງບັນດາບັນທຶກໂດຍຄົນລົງ. DataList Control ສາມາດຕິດຕໍ່ກັບຕາມຂໍ້ມູນ Database Table, XML File ຫຼື ບັນດາບັນທຶກອື່ນໆ. ບ່ອນນີ້, ພວກເຮົາຈະສະແດງວ່າເປັນວຽກງານທີ່ຈະຕິດຕໍ່ XML File ກັບ DataList Control.

ພວກເຮົາຈະໃຊ້ເອກະສານ 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>

ຍັງບໍ່ມີການເບິ່ງເອລັກກົມ XML ນັ້ນ:cdcatalog.xml

ເມື່ອທຳອິດຈະນຳເອົານາມນາມສະນັກງານ "System.Data" ພວກເຮົາຕ້ອງການນາມນາມສະນັກງານນັ້ນເພື່ອເຮັດວຽກກັບໂອກາດ DataSet. ຈະສູດໃສ່ເງິນສັນຍາບັນນາທິດ .aspx ຂອງເວັບໜ້າ:

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

ຕໍ່ມາຈະສ້າງ DataSet ສໍາລັບເອລັກກົມ XML ນັ້ນແລະນຳເອລັກກົມ 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

ຫຼັງຈາກນັ້ນພວກເຮົາຈະສ້າງບັນນາທິດ DataList ໃນເວັບ .aspx <HeaderTemplate> ສະນັ້ນຄວາມຂອງບັນນາທິດຈະປາກົດພຽງຫນຶ່ງຄັ້ງໃນການອອກອາກາດ ພວກວິກາຍ <ItemTemplate> ຈະປາກົດຕາມການຕິດຕາມ "record" ໃນ DataSet ແລະສຸດທ້າຍ <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 ຄວາມ: <HeaderTemplate> ທີ່ກວມມີຫົວໜ້າ, <ItemTemplate> ທີ່ກວມມີຂໍ້ມູນທີ່ຈະສະແດງ, ແລະ <FooterTemplate> ທີ່ກວມມີຂັດເພິນ: ລະບຸວ່າ gridlines ຂອງ DataList ໄດ້ກວມເປັນ "both" ເພື່ອສະແດງບາບແຜງ:

<%@ 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")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>
<FooterTemplate>
ລິຂະສິດ codew3c.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"
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>
ລິຂະສິດ codew3c.com
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>

ສະແດງຫຼັກສູດນີ້

ທ່ານສາມາດໃຊ້ <AlternatingItemTemplate>

ທ່ານສາມາດເພີ່ມ <AlternatingItemTemplate> ຕາມ <ItemTemplate> ໂດຍການກ່າວຄຳວ່າຈະຈະການປະກອບແບບຂອງບັນຊີອີກຄັ້ງ: ທ່ານສາມາດປັບບາບຂໍ້ມູນພາກສ່ວນ <AlternatingItemTemplate> ພາຍໃນ 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"
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>
© codew3c.com
</FooterTemplate>
</asp:DataList>
</form>
</body>
</html>

ສະແດງຫຼັກສູດນີ້