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

Visual c#

// Объявить новый объект.

FlashCardClass FlashCard = new FlashCardClass();

private void Page_Load(object sender, System.EventArgs e)

{

if(!IsPostBack)

{

// Перемешать карточки.

FlashCard. Shuffle();

// Сохранить объект в переменной Session.

Session["FlashCard"] = FlashCard;

}

// Получить значение переменной FlashCard из объекта Session.

FlashCard = (FlashCardClass) Session["FlashCard"];

RefreshDisplay();

}

Прочие страничные события позволяют настраивать вид страницы и обрабатывать события, связанные с данными.

События серверных элементов управления

События, срабатывающие в ответ на определенные действия пользователя, есть у всех серверных элементов управления (таких, как Button, TextBox и DropDownList), но не все эти события одинаковы. Существует три типа событий серверных элементов управления:

  • события, инициирующие возврат формы (post-back events) – вызывают возврат Web-страницы на сервер для немедленной обработки событий. Заметно снижают быстродействие из-за дополнительного обмена данными с сервером;

  • кэшируемые события (cashed events) – сохраняются в состоянии отображения страницы. Обрабатываются, когда происходит событие, инициировавшее возврат формы;

  • события проверки (validation events) – обрабатываются прямо на странице, не требуют возврата формы или кэширования.

На рисунке показана очередность событий серверных элементов управления Web-формы. События проверяющих элементов управления обрабатываются до отправки страницы на сервер. События Page_Init и Page_Load обрабатываются при возврате страницы, затем выполняется обработка кэшированных событий и в последнюю очередь обрабатывается событие, инициировавшее возврат формы.

Элементы управления Button, Link Button и Image Button генерируют события, вызывающие возврат формы. В отличие от них элементы управления TextBox, DropDownList, ListBox, RadioButton и CheckBox генерируют кэшируемые события; но их поведение можно изменить, присвоив свойству AutoPostBack значение True.

Чтобы пронаблюдать за взаимодействием событий различных типов, создайте Web-форму и поместите на нее серверные элементы управления TextBox, RequiredFieldValidator и Button. Занесите в свойство ControlToValidate проверяющего элемента управления (RequiredFieldValidator) значение TextBox1, затем добавьте в обработчики событий текстового поля и кнопки следующий код:

Visual Baste .Net

Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Button1.Click

Response.Write("Button Clicked!<br>")

End Sub

Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As _ System.EventArgs) Handles TextBoxl.TextChanged

Response.Write("Text has changed!<br>")

End Sub

Visual c#

private void Button1_Click(object sender, System.EventArgs e)

{

Response.Write("Button Clicked!<br>");

}

private void TextBox1_TextChanged(object sender, System.EventArgs e)

{

Response.Write("Text has changed!<br>");

}

Если оставить поле пустым и щелкнуть ОК, сработает только RequiredFieldValidatoi отобразив сообщение – больше никакие события не обрабатываются, и страница на сервер не возвращается. Если ввести в поле какой-нибудь текст и щелкнуть ОК, страница будет отправлена на сервер, при этом событие TextChanged обрабатывается раньше собы тия Click.

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