в

Kazan Dev Alliance

Казанское Сообщество Разработчиков Программного Обеспечения

Персональный блог Александра Шера

Professional blog for .Net programmers. Main topics: Microsoft ASP.NET AJAX, WPF/E, OOP, Refactoring

То, что не вошло в презентацию

 Так уж получилось, что одна, на мой взгляд важная тема, не была затронута ни на одном из моих докладов по Microsoft ASP.NET AJAX. Поэтому вкратце расскажу о ней здесь.

Дело в том, что асинхронный запрос, выполненный не вручную, а с помощью UpdatePanel triggers, имеет свой собственный цикл событий, именуемый Client Page Life-cycle. Выглядит он так:

Все события Client Page Life-cycle - это события синглтона PageRequestManager. Каждое событие служит определенной цели.

  • initializeRequest может быть использован для отмены запроса (например в случае, если в данный момент некоторый запрос уже выполняется).
  • beginRequest вызывается непосредственно перед отправкой запроса на сервер, поэтому разумно использовать его для запуска прелодера.
  • Свойство PageLoadingEventArgs.panelsDeleting (событие pageLoading) содержит массив панелей, которые будут удалены в результате постбэка.
  • pageLoaded можно использовать для получения информации о панелях, которые были обновлены или созданы.
  • EndRequestEventArgs содержит информацию об ошибке (при условии что ошибка есть), а также ссылку на экземпляр объекта Sys.Net.WebRequestExecutor, использовавшегося при данном запросе.
Published Jun 02 2007, 05:26 AM by Aib
Attachment: q.jpg

Комментарии

 

Raimon сказал:

то есть, эти события срабатывают только при асинхронном обновлении через UpdatePanel ?

а когда просходит первоначальная загрузка страницы?

June 4, 2007 9:17 AM
 

Raimon сказал:

кстати, нарыл тут интересный постер

http://aspnetresources.com/downloads/MS%20Ajax%20Client%20Life-Cycle%20Events.pdf

June 4, 2007 11:16 AM
 

Aib сказал:

Интересный, хотя по сравнению со стандартными доками дает не много.

По поводу твоего вопроса. При первоначальной загрузке страницы срабатывает только pageLoaded.  При этом panelsCreated содержит список всех панелей на странице, а panelsUpdated пуст.

June 4, 2007 2:00 PM

Оставить комментарий

(required)  
(optional)
(required)  

© 2007 Kazan Developers Community and Post`s Authors