2009-03-22 5 views
1

Где в жизненном цикле страницы наиболее целесообразно назначать делегаты обработчика событий для событий, создаваемых пользовательскими элементами управления пользователями?Где установить обработчики событий User Control?

У меня есть пользовательский элемент управления ReportFilter, который вызывает событие ApplyFilterClicked. В настоящее время я просто использую Page_Load, чтобы назначить метод обработчика.

reportFilter.ApplyFilterClicked += reportFilter_ApplyFilterClicked; 

ответ

1

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

В противном случае фаза загрузки будет работать нормально, и, вероятно, там, где большинство людей их устанавливают. Очевидно, вы не можете установить обработчики где-нибудь позже, иначе они никогда не будут вызваны, так как фаза обработки событий следующая в строке после загрузки.

0

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

http://msdn.microsoft.com/en-us/library/ms178472.aspx

Надеется, что это помогает