Последние учебники веб-разработки
×

ASP.NET Руководство

ASP.NET ГЛАВНАЯ ASP.NET вступление

WP Руководство

WebPages вступление WebPages бритва WebPages раскладка WebPages Папки WebPages Глобальный WebPages формы WebPages Объекты WebPages файлы WebPages Базы данных WebPages Помощники WebPages WebGrid WebPages Графики WebPages Эл. адрес WebPages PHP WebPages Публиковать WebPages Примеры

WP Рекомендации

WebPages Классы WebPages Безопасность WebPages База данных WebPages WebMail WebPages Помощники

ASP.NET Razor

Razor вступление Razor Синтаксис Razor C# переменные Razor C# Loops Razor C# логика Razor VB переменные Razor VB Loops 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 Текстовое окно WebForms кнопка WebForms Связывание данных WebForms ArrayList WebForms Хеш-таблица WebForms SortedList WebForms XML файлы WebForms повторитель WebForms DataList WebForms DbConnection WebForms Master страницы WebForms навигация WebForms Примеры


 

ASP.NET Web Forms - Повторитель управления


Управления Repeater используются для отображения повторяющегося списка элементов, которые связаны с контролем.


Привязка DataSet к элементу управления Repeater

Управления 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> элемента повторяется для каждой "record" в наборе данных, и наконец, содержимое <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. Мы также заполнить контроль Repeater с HTML-теги и привязывать элементы данных в ячейках в разделе <ItemTemplate> с <% # контейнер. DataItem("fieldname") %> Метод:

пример

<%@ 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>

Вы можете добавить <AlternatingItemTemplate> элемент после <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>

<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>
Показать пример »