понедельник, апреля 03, 2006

Naming convention в событиях класса Page для ASP.NET 2.0

Начал осваивать ASP.NET 2.0 столкнулся с тем, что VS2005 не генерирует обработчики событий для событий страницы (Page_Init, Page_PreRender), как раньше делала VS2003. Оказывается были внесены изменения в обработку событий страницы на сервере, да в сам механиз работы с событиями.
ASP.NET страница во время работы генерирует следующие события (отсортированы в порядке появления):
Page_PreInit
Page_Init
Page_Load
Page_PreRender
Page_Unload
По умолчанию чтобы связать событие с методом необходимо помнить о соглашение о наименовании (naming convention), т.е. методы, которые будут реализовать обработку событий должны называться в стиле:
Page_[eventname] (Page_Load, Page_Init и т.д.)
Важно отметить, что данные методы не принимают на вход никаких параметоров (Page_Load()).
Для примера, чтобы создать обработчик события Load, вы должны создать метод с именем Page_Load. В время компиляции ASP.NETнайдет методы соответствущие соглашению о наименовании и произведет автоматическое связывание этих методов и событий.
Статьи:
MSDN - ASP.NET Web Server Control Event Model.
MSDN - ASP.NET Page Life Cycle Overview.

Комментариев нет: