Formulir Web ASP.NET - Kontrol pengulang
Kontrol ASP.NETRepeater adalah kontrol pengikatan data asli. Bagian ini memperkenalkan penggunaan kontrol Repeater dalam operasi pengikatan data ASP.NET.
Kontrol Repeater digunakan untuk menampilkan daftar berulang item yang terikat pada kontrol.
Ikat DataSet ke kontrol Repeater
Kontrol Repeater digunakan untuk menampilkan daftar berulang item yang terikat pada kontrol. Kontrol pengulang dapat diikat ke tabel database, file XML, atau daftar item lainnya. Di sini, kami akan mendemonstrasikan cara mengikat file XML ke kontrol Repeater.
Dalam contoh kita, kita akan menggunakan file XML berikut ("cdcatalog.xml"):
<?xml version="1.0" coding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country > <company>Kolumbia</company> <price>10,90</price> <tahun>1985</tahun> </cd> <cd> <title>Sembunyikan hatimu</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> <negara>AS</negara> <perusahaan>RCA</perusahaan> <harga>9,90</price> <tahun>1982</tahun> </cd> <cd> <title>Masih punya musik blues</title> <artist>Gary Moore</artist> <country>UK</country> <company>Virgin Records</company> <price>10.20</price> <tahun >1990</tahun> </cd> <cd> <title>Eros</title> <artist>Eros Ramazzotti</artist> <country>EU</country> <company>BMG</company> <harga>9,90</price> <tahun>1997</tahun> </cd> </katalog>Lihat file XML ini: cdcatalog.xml
Pertama, impor namespace "System.Data". Kita memerlukan namespace ini untuk bekerja dengan objek DataSet. Sertakan arahan berikut di bagian atas halaman .aspx Anda:
<%@ Impor Namespace="Sistem.Data" %>Selanjutnya, buat DataSet untuk file XML dan muat file XML ke dalam DataSet saat halaman pertama kali dimuat:
<script runat="server"> sub Page_Load jika Bukan Page.IsPostBack lalu redupkan mycdcatalog=New DataSet mycdcatalog.ReadXml(MapPath("cdcatalog.xml")) berakhir jika sub akhirKemudian kita membuat kontrol Repeater di halaman .aspx. Konten dalam elemen <HeaderTemplate> dirender terlebih dahulu dan hanya muncul sekali dalam output, sedangkan konten dalam elemen <ItemTemplate> diulang untuk setiap "catatan" di DataSet. Terakhir, konten dalam elemen <FooterTemplate> dirender Hanya muncul sekali di keluaran:
<html> <body> <form runat="server"> <asp:Repeater id="cdcatalog" runat="server"> <HeaderTemplate> ... </HeaderTemplate> <ItemTemplate> ... </ItemTemplate> < FooterTemplate> ... </FooterTemplate> </asp:Repeater> </form> </body> </html>Kemudian kita menambahkan skrip untuk membuat DataSet dan mengikat DataSet mycdcatalog ke kontrol Repeater. Kemudian gunakan tag HTML untuk mengisi kontrol Repeater, dan ikat item data ke sel di area <ItemTemplate> melalui <%#Container.DataItem("fieldname")%>:
Contoh
<%@ Import Namespace="System.Data" %> <script runat="server"> sub Page_Load jika Bukan Page.IsPostBack lalu redupkan mycdcatalog=New DataSet mycdcatalog.ReadXml(MapPath("cdcatalog.xml")) cdcatalog.DataSource =mycdcatalog cdcatalog.DataBind() berakhir jika sub akhir </skrip> <html> <body> <formulir runat="server"> <asp:Repeater id="cdcatalog" runat="server"> <HeaderTemplate> <table> <tr> <th>Judul</th> <th>Artis</th> <th>Negara </th> <th>Perusahaan</th> <th>Harga</th> <th>Tahun</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Container.DataItem("title")%></td> <td><%#Container.DataItem("artist")%></td> <td><%#Container.DataItem( "negara")%></td> <td><%#Container.DataItem("perusahaan")%></td> <td><%#Container.DataItem("price")%></td> <td><%#Container.DataItem("year")%></td> </tr> </ItemTemplate> <FooterTemplate > </tabel> </FooterTemplate> </asp:Repeater> </form> </body> </html>Tip: Untuk pengetahuan tentang tag HTML, Anda dapat merujuk ke "Manual Referensi HTML" situs ini!
Gunakan <AlternatingItemTemplate>
Anda dapat menambahkan elemen <AlternatingItemTemplate> setelah elemen <ItemTemplate> untuk mendeskripsikan tampilan baris bergantian dalam output. Pada contoh di bawah, setiap baris tabel lainnya ditampilkan dengan latar belakang abu-abu terang:
Contoh
<%@ Import Namespace="System.Data" %> <script runat="server"> sub Page_Load jika Bukan Page.IsPostBack lalu redupkan mycdcatalog=New DataSet mycdcatalog.ReadXml(MapPath("cdcatalog.xml")) cdcatalog.DataSource =mycdcatalog cdcatalog.DataBind() berakhir jika sub akhir </skrip> <html> <body> <formulir runat="server"> <asp:Repeater id="cdcatalog" runat="server"> <HeaderTemplate> <table> <tr> <th>Judul</th> <th>Artis</th> <th>Negara </th> <th>Perusahaan</th> <th>Harga</th> <th>Tahun</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Container.DataItem("title")%></td> <td><%#Container.DataItem("artist")%></td> <td><%#Container.DataItem( "negara")%></td> <td><%#Container.DataItem("perusahaan")%></td> <td><%#Container.DataItem("price")%></td> <td><%#Container.DataItem("year")%></td> </tr> </ItemTemplate> <AlternatingItemTemplate > <tr bgcolor="#e8e8e8"> <td><%#Container.DataItem("title")%></td> <td><%#Container.DataItem("artist")%></td> <td><%#Container.DataItem("country")%></td> <td><%#Container.DataItem( "perusahaan")%></td> <td><%#Container.DataItem("harga")%></td> <td><%#Container.DataItem("year")%></td> </tr> </AlternatingItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </form> < /tubuh> </html>Gunakan <SeparatorTemplate>
Elemen <SeparatorTemplate> digunakan untuk mendeskripsikan pemisah antara setiap record. Pada contoh di bawah, garis horizontal disisipkan di antara setiap baris tabel:
Contoh
<%@ Import Namespace="System.Data" %> <script runat="server"> sub Page_Load jika Bukan Page.IsPostBack lalu redupkan mycdcatalog=New DataSet mycdcatalog.ReadXml(MapPath("cdcatalog.xml")) cdcatalog.DataSource =mycdcatalog cdcatalog.DataBind() berakhir jika sub akhir </skrip> <html> <body> <formulir runat="server"> <asp:Repeater id="cdcatalog" runat="server"> <HeaderTemplate> <table> <tr> <th>Judul</th> <th>Artis</th> <th>Negara </th> <th>Perusahaan</th> <th>Harga</th> <th>Tahun</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Container.DataItem("title")%></td> <td><%#Container.DataItem("artist")%></td> <td><%#Container.DataItem( "negara")%></td> <td><%#Container.DataItem("perusahaan")%></td> <td><%#Container.DataItem("price")%></td> <td><%#Container.DataItem("year")%></td> </tr> </ItemTemplate> <SeparatorTemplate > <tr> <td colspan="6"><hr /></td> </tr> </SeparatorTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </form> </body> </html>Di atas adalah pengenalan penggunaan kontrol ASP.NETRepeater.