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

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 - Контроль DataList


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


Привязка DataSet к DataList контролю

Контроль DataList является, как элемент управления Repeater, используемым для отображения повторяющегося списка элементов, которые связаны с контролем. Тем не менее, контроль DataList добавляет таблицу вокруг элементов данных по умолчанию. Контроль DataList может быть связан с базой данных таблицы, файл XML, или другой список элементов. Здесь мы покажем, как связать файл XML для управления DataList.

Мы будем использовать следующий 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" в наборе данных, и наконец, содержимое <FooterTemplate> элемента являются оказана только в пределах выхода:

<html>
<body>

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

<HeaderTemplate>
...
</HeaderTemplate>

<ItemTemplate>
...
</ItemTemplate>

<FooterTemplate>
...
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

Затем мы добавим скрипт, который создает набор данных и связывает mycdcatalog DataSet для управления DataList. Мы также заполнить контроль 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>
Copyright Hege Refsnes
</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>
Copyright Hege Refsnes
</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>
&copy; Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>
Показать пример »