2015-03-18 6 views
4

Я новичок в WebForms, я думаю, у меня довольно простой вопрос. Я часто вижу, что люди инициализируют любые зависимости в методе page_load своего класса. Это обычная вещь?ASP.net WebForms - Constructor vs. Page_Load

Вещи, которые я обычно пишу в конструкторе.

Как определить, что принадлежит в конструкторе, а что лучше поместить в способе обработки Page_Load

ответ

6

Вы должны взглянуть на asp.net life cycle.
В методе бизнес-схемы вы можете написать много кода, объявить переменные и использовать классы и библиотеки.
Но если вам нужны какие-либо элементы asp.net (Page, Controls, Session, QueryString и т. Д.), Вы должны быть в Page_Load или в других методах жизненного цикла.

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

Смежные вопросы