Latest web development tutorials
×

ASP.NET курс

ASP.NET курс ASP.NET Краткое введение

WP курс

WebPages Краткое введение WebPages Razor WebPages раскладка WebPages папка WebPages Общая ситуация WebPages форма WebPages объекты WebPages файл WebPages помощник WebPages WebGrid WebPages диаграмма WebPages Email WebPages PHP WebPages релиз WebPages примеров

WP справочное руководство

WebPages категория WebPages безопасности WebPages база данных WebPages почтовое отделение WebPages помощник

ASP.NET Razor

Razor Краткое введение Razor грамматика Razor C# переменная Razor C# циркуляция Razor C# логика Razor VB переменная Razor VB циркуляция Razor VB логика

ASP.NET MVC

MVC Краткое введение MVC приложений MVC папка MVC раскладка MVC контроллер MVC вид MVC база данных MVC модель MVC безопасности MVC HTML помощник MVC релиз MVC справочное руководство

WF курс

WebForms Краткое введение WebForms страница WebForms управления WebForms событие WebForms форма WebForms ViewState WebForms TextBox WebForms Button WebForms Связывание данных WebForms ArrayList WebForms Hashtable WebForms SortedList WebForms XML файл WebForms Repeater WebForms DataList WebForms Связь с базами данных WebForms Главные страницы WebForms навигация WebForms примеров

WF справочное руководство

WebForms HTML WebForms Controls WebForms Validation

управления ASP.NET Repeater

Ретранслятор список управления обязан повторить программу управления для отображения.


Bind DataSet для управления Repeater

Ретранслятор список управления обязан повторить программу управления для отображения. Элемент управления Repeater может быть связан с базой данных таблицы, XML-файла или другого списка элементов. Здесь мы покажем, как связать файл XML для элемента управления Repeater.

В нашем примере мы будем использовать следующий 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

Затем мы создаем элемент управления Repeater в странице .aspx. <HeaderTemplate> содержание элемента оказывается первым и только один раз в выходных данных, а <ItemTemplate> содержимое элемента, соответствующего DataSet каждый "запись" повторяется, и, наконец, <FooterTemplate> содержание элемента выход только один раз:

<html>
<body>

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

<HeaderTemplate>
...
</HeaderTemplate>

<ItemTemplate>
...
</ItemTemplate>

<FooterTemplate>
...
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

Затем мы добавляем скрипт для создания набора данных, и связывает mycdcatalog DataSet с элементом управления Repeater. Затем с помощью HTML-тегов для заполнения элемента управления Repeater, а <% # Container.DataItem ( "имя_поля")%>, чтобы связать элемент данных <ItemTemplate> область ячеек:

примеров

<%@ 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:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

Демонстрация >>

Используйте <AlternatingItemTemplate>

Вы можете оставить элемент <ItemTemplate> к элементу <AlternatingItemTemplate> используется для описания внешнего вида чередующихся рядов продукции. В приведенном ниже примере, таблица будет отображаться каждая вторая строка в виде светло-сером фоне:

примеров

<%@ 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:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></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("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</AlternatingItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

Демонстрация >>

Используйте <SeparatorTemplate>

Элемент <SeparatorTemplate> используется для описания разделитель между каждой записи. В следующем примере, каждая таблица вставляется между горизонтальной линией:

примеров

<%@ 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:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="0" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></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>

Демонстрация >>