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

Например, предположим, что у вас есть страница с кнопкой Submit и текстовым полем без автоматической обратной отсылки. Вы изменяете текст в текстовом поле и щелкаете на кнопке Submit. В этот момент ASP.NET запускает следующие события в таком порядке:

Запоминание этой информации может быть решающим в облегчении вашей жизни как программиста на ASP.NET. У управляемой событиями модели имеются как положительные, так и отрицательные стороны. Положительная сторона заключается в том, что модель событий предоставляет более высокий уровень абстракции, что избавляет код от стереотипных фрагментов поддержки состояния. Отрицательная сторона состоит в том, что очень легко забыть о том, что модель событий на самом деле является просто эмуляцией. Это может привести вас к некорректному предположению (например, ожиданию того, что информация останется в переменных экземпляров) или же плохо работающему проектному решению (например, сохранению большого количества информации в состоянии вида).

Автоматическая привязка данных

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

Существуют два типа операций с источниками данных. Любые изменения (вставки, удаления либо обновления) выполняются после обработки всех событий элементов управления, но непосредственно перед генерацией события Page.PreRender. После запуска события Page.PreRender элементы управления
источниками данных выполняют свои запросы и вставляют извлеченные данные в любые связанные элементы управления. Эта модель имеет смысл, поскольку выполнение запросов перед выполнением обновлений может привести к устареванию данных на вашей Web-странице. Однако эта модель также вводит необходимое ограничение — ни у одного из остальных обработчиков событий не будет доступа к наиболее новым данным, поскольку они еще не были извлечены.

предыдущая    следующая страница   оглавление

120

Hosted by uCoz