Лекция: Данные и источники данных. Элементы управления, обработка и связывание с источниками данных. Механизмы

Платформа ASP.NET предоставляет универсальный и достаточно простой способ отображения данных на стороне клиента. Данные (в каком бы виде они не существовали на сервере) могут быть представлены на клиентской стороне с помощью специальных элементов управления. Задача этих элементов управления – отображение данных на веб-странице в удобной для пользователя форме:

· в виде таблицы (так, например, может быть представлен прайс-лист);

· в виде множества одинаковых по структуре (но имеющих разное содержимое) HTML-фрагментов; в таком виде, например, представляются результаты поискового запроса в Гугле (и не только), страницы тем форумов, ленты новостей на информационных порталах;

· и т.д.

Каким образом данные привязываются к серверным элементам управления? Некоторые серверные элементы управления: списки (DataList), таблицы (GridView), репитеры или повторители (Repeater) — имеют свойство DataSource, которое отвечает за привязку к данным. Тип этого свойства — object, то есть он может быть любым, но должен реализовывать интерфейс IEnumerable. Часто значениями этого свойства назначают коллекции.

Свойство DataSource может быть «привязано» к коллекциям, поддерживающим интерфейсы IEnumerable, ICollection или IListSource. Источником данных также могут быть XML-файлы, таблицы баз данных. Вызовом метода DataBind() данные непосредственно привязываются к серверному элементу управления. Метод Page.DataBind() вызывает привязку данных у всех элементов на странице.

Механизм привязки данных ASP.NET позволяет привязывать серверные элементы управления к простым свойствам, коллекциям, выражениям и методам. Это дает дополнительную гибкость при извлечении данных из баз данных или других источников.

После определения и настройки источников данных для объектов на странице ASPX необходимо привязать данные к этим источникам. Для привязки данных к источникам данных можно использовать методы Page.DataBind и Control.DataBind.

Оба метода работают схожим образом. Основное отличие заключается в том, что все источники данных привязываются к серверным элементам управления после вызова метода Page.DataBind. Пока не будет явным образом вызван методDataBind элемента управления или пока не будет вызван метод страничного уровня Page.DataBind, никакие данные передаваться элементу управления не будут. Как правило, метод Page.DataBind (или метод DataBind) вызывается из события Page_Load.

 

Элемент управления Repeater является списком, построенным на основе шаблонов и привязанным к данным. Элемент управления Repeater является «безликим» (не имеет встроенных стилей и форматирования). Таким образом, в шаблонах этого элемента управления необходимо явно объявлять теги стилей, форматирования и разметки HTML.

Класс DataList является списком, построенным на основе шаблонов и привязанным к данным. Изменение шаблонов данного класса позволяет выполнять настройку списка. В отличие от элемента управления Repeater, класс DataListподдерживает направленное формирование содержимого и во время исполнения программы может выполнять вывод в таблицу HTML.

Элемент управления DataGrid является таблицей, содержащей несколько столбцов и привязанной к данным. Чтобы настроить вид отдельных столбцов внутри элемента управления DataGrid, следует изменить тип столбца на «столбец шаблона» и изменить шаблоны столбцов. Элемент управления DataGrid может выводить данные без шаблонов, что делает данный элемент идеальным средством для работы со сценариями отчетов. Кроме того, элемент DataGridподдерживает возможности выбора, изменения, удаления и сортировки по столбцам и по столбцам кнопок.

 

 

еще рефераты
Еще работы по информатике