Интересная ошибка запуска события жизненного цикла ASP.NET - PullRequest
1 голос
/ 13 марта 2011

У меня возникла интересная ошибка события жизненного цикла, представьте кодовую иерархию, подобную этой:

Page 1
   User Control 2
      User Control 3

Где каждый из этих элементов является дочерним в этом порядке.Я ожидаю, что Page 1 сначала запустит свой oninit, затем User Control 2, затем User Control 3. Но этого не происходит;на самом деле, в этом сценарии User Control 3 сначала запускает init.У меня есть каждый из них, унаследованный от специального базового класса, и у меня есть некоторый программный код, который должен выполняться по порядку.Есть идеи, почему это происходит?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 13 марта 2011

То, что вы видите, не является ошибкой. Это происходит потому, что так и должно быть :

Событие Init индивидуального управление происходит до Init Событие страницы.

1 голос
/ 13 марта 2011

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

1 голос
/ 13 марта 2011

Как отмечают другие, события Init запускаются снизу вверх, а более поздние события (например, Load) - сверху вниз.

...