Программирование >>  Asp.net 

1 ... 3 4 5 [ 6 ] 7 8 9 ... 13


Web-серверные элементы управления для работы с данными

Эти элементы управления подразделяются на два типа:

□ элементе! управления источников данных (SqlDataSource, AccessDataSource, ObjectDataSource, XmlDataSource и SiteMapDataSource);

□ элементы управления отображения данных (GridView, DataList, DetailsView, FormView, ListView, Repeater и DataPager).

Обычно на страницу помещается один из (невизуальных) элементов управления источников данных для связи с хранилищем данных; затем добавляются элементы управления для отображения данных, привязанные к источнику. Некоторые из наиболее усовершенствованных элементов управления для отображения данных вроде GridView также позволяют редактировать данные.

Все элементы источников данных наследуются от System.Web.UI.DataSource или System.Web.UI.HierarchicalDataSource. Эти классы имеют методы, подобные GetView() (или GetHierarchicalView() ), обеспечивающие доступ к внутренним представлениям данных и обладающие возможностями настройки внешнего вида.

В табл. 37.2 описаны различные элементы управления источников данных. Обратите внимание, что здесь мы менее детально описываем свойства, чем в других разделах - в основном потому, что конфигурирование этих элементов лучше выполнять графически, применяя мастера. Далее в этой главе мы покажем некоторые из них в действии.

Таблица 37.2. Элементы управления источников данных

Элемент управления

Описание

SqlDataSource Служит каналом для данных, хранимых в базе SQL Server. Поместив этот

элемент на страницу, можно манипулировать данными SQL Server с помощью элементов управления, отображающих данные. Далее в этой главе мы покажем его в действии.

AccessDataSource Как SqlDataSource, но работает с данными из базы Access.

LinqDataSource Позволяет манипулировать объектами в модели данных, разрешающей использование LINQ.

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

XmlDataSource Позволяет осуществлять привязку к данным XML. Например, его удобно при-

менять в связке с элементом управления TreeView (один из элементов навигации). Можно также при необходимости трансформировать данные XML с помощью таблицы стилей XSL.

SiteMapDataSource Позволяет связаться с иерархическими данными карты сайта. См. далее раздел, посвященный Web-серверным элементам управления для навигации.

В табл. 37.3 представлено описание элементов управления, предназначенных для отображения данных. Некоторые из них подходят для разных целей. Некоторые более функциональны, чем другие, но их всегда можно использовать упрощенным образом (например, когда нет необходимости в редактировании элементов данных).



Таблица 37.3. Элементы управления для отображения данных

Элемент управления

GridView

DataList

DetailsView

Описание

Отображает множественные элементы данных (такие как записи базы данных) в форме строк, где каждая строка состоит из столбцов, отображающих поля данных. Манипулируя свойствами этого элемента управления, можно выбирать, сортировать и редактировать элементы данных.

Отображает множественные элементы данных, где для каждого элемента можно применять произвольный шаблон отображения. Как и в случае GridView, можно выбирать, сортировать и редактировать элементы данных.

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

FormView Отображает единственный элемент данных, используя шаблон. Как и

DetailsView, позволяет добавлять, редактировать и удалять элементы данных.

ListView Подобен DataList, но с дополнительной поддержкой разбивки на страницы

посредством DataPager и дополнительных возможностей шаблонов.

Repeater Подобно DataList, но без возможностей выбора и редактирования.

DataPager Позволяет выполнять разбивку на страницы в элементах управления ListView.

Web-серверные элементы управления для проверки достоверности

Элементы управления для проверки достоверности предоставляют метод контроля пользовательского ввода в большинстве случаев без необходимости написания кода. Когда инициируется обратная отправка, каждый такой элемент управления проверяет связанный с ним элемент управления и соответствующим образом изменяет его свойство IsValid. Если это свойство принимает значение false, значит, пользовательский ввод в этом элементе управления не удовлетворяет требованиям проверки. При этом свойство IsValid всей включающей страницы получает значение false. Код серверной стороны может проверить это свойство и соответствующим образом обработать.

Элементы управления для проверки достоверности имеют также и другую функцию. Они не только проверяют содержимое во время выполнения, но также могут выдавать полезные подсказки пользователю. Простое присвоение текста свойству ErrorMessage позволяет информировать пользователя о том, что он ввел некорректные данные.

Текст, сохраненный в ErrorMessage, может быть выдан в той точке, где находится элемент управления для проверки, или же в любой другой точке вместе с сообщениями от других проверяющих элементов, расположенных на странице. Такое поведение обеспечивается применением элемента ValidationSummary, который по требованию отображает сообщения об ошибке вместе с необходимым дополнительным текстом.

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

Все проверяющие элементы управления унаследованы от BaseValidator, а потому разделяют ряд важных свойств. Возможно, наиболее важное из них - ErrorMessage, упомянутое ранее, а также свойство ControlToValidate, указывающее



программный идентификатор проверяемого элемента управления. Другим важным свойством является Display, которое определяет, нужно ли помещать текст в позиции итоговой проверки страницы (если установлено none) или же в позиции проверяющего элемента. Кроме того, есть возможность оставить пространство для сообщения об ошибке, даже если она не отображается (установить Display в значение Static), или же динамически выделять место при необходимости, что может несколько сдвинуть содержимое страницы (установить Display в значение Dynamic). В табл. 37.4 описаны элементы управления для проверки достоверности.

Таблица 37.4. Элементы управления для проверки достоверности

Элемент управления

RequiredFieldValidator

CompareValidator

Описание

RangeValidator

RegularExpressionValidator

CustomValidator

ValidationSummary

Применяется для проверки, ввел ли пользователь данные в такой элемент управления, как TextBox.

Используется для проверки введенных данных на соответствие некоторым простым требованиям с помощью набора операций, заданных свойством Operator и ValueToCompare, с которым нужно сравнивать. Operator может принимать значения Equal,

GreaterThan, GreaterThanEqual, LessThan, LessThanEqual,

NotEqual и DataTypeCheck. DataTypeCheck просто сравнивает тип данных ValueToCompare с данными в проверяемом элементе управления. Свойство ValueToCompare является строковым, но его тип данных интерпретируется в соответствии с его содержимым. Чтобы можно было выполнять такую проверку, необходимо установить свойство Type в значение Currency, Date, Double, Integer или String.

Проверяет попадание данных в элементе управления в диапазон значений, заданный свойствами MinimumValue и MaximumValue. Как и CompareValidator, имеет свойство Type.

Проверяет содержимое поля на основе регулярного выражения, содержащегося в свойстве ValidationExpression. Это может быть удобно для проверки известных последовательностей - таких как почтовые коды, телефонные номера, IP-адреса и тому подобное.

Используется для проверки данных в элементе управления с применением пользовательской функции. Свойство ClientValidationFunction позволяет указать пользовательскую функцию на стороне клиента, используемую для проверки (что, к сожалению, исключает возможность применения C#). Функция должна возвращать булевское значение, обозначающее успешность проверки. В качестве альтернативы можно использовать событие ServerValidate для указания функции проверки на стороне сервера. Эта функция - обработчик события типа bool, принимающая строку с проверяемыми данными вместо параметра EventArgs. Возвращает true, если проверка прошла успешно, и false - в противном случае.

Отображает ошибку проверки для всех проверяющих элементов управления, у которых установлено свойство ErrorMessage. Отображение может быть форматировано установкой свойств

DisplayMode(BulletList,List или SingleParagraph)и HeaderText. Отображение может быть отключено установкой ShowSummary в false или выглядеть как всплывающее окно сообщений, если установить свойство ShowMessage равным true.



1 ... 3 4 5 [ 6 ] 7 8 9 ... 13

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика