Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_CSharp_5.docx
Скачиваний:
41
Добавлен:
11.05.2015
Размер:
473 Кб
Скачать
☆

2.3. Событие LoadComplete

Введенное в ASP.NET 2.0 и поддерживаемое только для страниц, событие LoadComplete сигнализирует об окончании этапа подготовки страницы. Обратите внимание, что дочерние элементы управления этого события не получают. Сгенерировав событие LoadComplete, страница вступает в фазу рендеринга.

3. Завершающий этап выполнения страницы

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

3.1. Событие PreRender

Обрабатывая событие PreRender, страница и элементы управления могут выполнять изменения, которые необходимо внести до того, как начнется рендеринг страницы. Данное событие сначала достигает страницы, а затем рекурсивно всех ее элементов управления. Этот этап особенно важен для составных элементов управления.

3.2. Событие PreRenderComplete

Поскольку событие PreRender рекурсивно генерируется для всех дочерних элементов управления страницы, ее автор не знает, когда завершится фаза предрендеринга. Поэтому в ASP.NET 2.0 введено новое событие, PreRenderComplete, генерируемое только для страницы и уведомляющее об этом моменте.

3.3. Событие SaveStateComplete

Следующим шагом, предшествующим генерированию разметки клиентской страницы, является сохранение её текущего состояния. Каждое действие, выполненное после этого момента и связанное с модификацией состояния представления, может отразиться на рендеринге, но внесенные при этом изменения состояния представления уже не сохранятся и при следующем возврате формы будут утрачены. Сохранение состояния страницы ‑ рекурсивный процесс, при выполнении которого процессор страницы проходит по всему ее дереву, вызывая метод SaveViewState()1 элементов управления и самой страницы. SaveViewState() ‑ это защищенный и виртуальный метод, отвечающий за сохранение содержимого словаря ViewState текущего элемента управления.

В ASP.NET 2.0 помимо состояния представления с элементами управления связано еще и так называемое состояние элемента ‑ род приватного состояния представления, не являющегося предметом управления со стороны приложения. Иными словами, управление состоянием элемента нельзя программно отключить, как это можно сделать для состояния представления. Так вот, состояние элемента также сохраняется на данном этапе.

Событие SaveStateComplete, введенное в ASP.NET 2.0, генерируется после полного сохранения состояния элементов управления страницы.

3.4. Генерирование разметки

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]