ASP.NET Inherited UserControl, вопрос последовательности событий - PullRequest
1 голос
/ 11 января 2010

У меня есть UserControl, наследующий от другого, и мой вопрос прост.Сначала загружается страница элемента управления или сначала запускается страница базового класса?

Ответы [ 3 ]

2 голосов
/ 11 января 2010

Если вы говорите о фактическом наследовании, а не о контрольной композиции, тогда применяются все стандартные объектно-ориентированные правила.

Поскольку это не отдельный объект, в вашем элементе управления есть только одно событие Load, и может быть только один метод Page_Load, если вы явно не скрыли его с помощью модификатора new . Таким образом, по сути, нет никакой разницы между загрузкой дочерней страницы и загрузкой родительской страницы ... они одинаковы.

2 голосов
/ 11 января 2010

"Страница вызывает метод события OnLoad на странице, а затем рекурсивно делает то же самое для каждого дочернего элемента управления, что делает то же самое для каждого из его дочерних элементов управления, пока страница и все элементы управления не будут загружены."

По этой ссылке: http://msdn.microsoft.com/en-us/library/ms178472.aspx

Таким образом, чтобы ответить прямо, событие Page_Load вызывается до события загрузки в пользовательских элементах управления

0 голосов
/ 11 января 2010

Page_Load элемента управления должен срабатывать первым, я считаю. За исключением события Page_Init, все другие инициирующие события происходят в иерархии элементов управления.

Редактировать: Я не прав там. Страница запускает событие load, затем рекурсивно вызывает его на дочерних элементах управления, которые рекурсивно вызывают его на его дочерних элементах управления и так далее. Мой плохой ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...