Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
224
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

ValidationSummary

Это проверяющий элемент управления иного рода: он ничего не проверяет, но предоставляет альтернативный метод вывода сообщений других проверяющих элементов управления, накапливая и отображая их вместе. В следующем примере ValidationSummary служит для составления сводки всех ошибок проверок на дан­ной странице. Атрибуты Display для остальных проверяющих элементов управления установлены в None, что запрещает им выводить сообщения об ошибках самостоятельно. Прежде чем страница возвращается на сервер, ValidationSummary просматривает другие проверяющие элементы управления. Если хотя бы один из них обнаружил ошибку, ValidationSummary отображает соответствующие сообщения об ошибках в виде маркированного списка:

<asp:TextBox ID="UserName" RunAt="server" />

<asp:RequiredFieldValidator

ControlToValidate="UserName"

ErrorMessage="The user name can't be blank"

Display="none"

RunAt="server" />

<asp:TextBox ID="Password" TextMode="Password" RunAt="server" />

<asp:RequiredFieldValidator

ControlToValidate="Password"

ErrorMessage="The password can't be blank"

Display="none"

RunAt="server" />

<asp: RegularExpressionValidator

ControlToValidate="Password"

ValidationExpression=".{8,}"

Display="none"

ErrorMessage="The password must contain at least 8 characters"

RunAt="server" />

<asp:ValidationSummary

DisplayMode="BulletList"

HeaderText="This page contains the following errors"

RunAt="server" />

Атрибут DisplayMode элемента управления ValidationSummary может иметь зна­чение BulletedList, что приводит к выводу маркированного списка сообщений, List — для отображения в виде списка без маркеров или SingleParagraph — для ото­бражения сообщений без маркеров и переводов строки. HeaderText задает необя­зательный текст, отображаемый над сообщениями.

Для дальнейшей настройки служат свойства ShowMessageBox и ShowSummary. По умолчанию ShowMessageBox равно false, a ShowSummary — true, в итоге сооб­щения отображаются на самой Web-странице. Если же ShowMessageBox установить в true, a ShowSummary в false, сообщения будут отображаться в информационном окне (программисты на JavaScript называют его alert box, так как в этом языке его выводит команда alert):

<asp:ValidationSummary

DisplayMode="BulletList"

HeaderText="This page contains the following errors"

ShowMessageBox="true"

ShowSummary="false"

RunAt="server" />

Установка в true обоих свойств ShowMessageBox и ShowSummary вызывает отобра­жение сообщений и в информационном окне, и на Web-странице.

Отмена проверки вводимых данных

Для отмены проверки введенных данных необходим HTML-элемент управления Submit, устанавливающий атрибут Page_ValidationActive в false:

< input type=”submit” id=”butCancel” value=”Отменить проверку” OnClick=”Page_ValidationActive = false;”>

Этот текст определяет кнопку, которая отменяет проверку и возвращает страницу на сервер. Проверив свойство IsValid объекта Page при обработке события Page_Load, принимается решение о прерванной пользователем проверке. В этом случае необходимо заново проверить страницу, поскольку при отмене проверки свойство IsValid получает значение True. Следующий код позволяет узнать, отменил ли пользователь проверку:

Visual C#

private void Page_Load (object sender, EventArgs e)

{

// проверить страницу, если отменена проверка на клиенте

if(IsPostBack)

{

Page.Validate();

if(!Page.IsValid)

// пользователь отменил проверку

}

}

Соседние файлы в папке ПвИ