Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Событие SaveStateComplete

Событие PreRenderComplete

Событие PreRender

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

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

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

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

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

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

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

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




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 458; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.