ASP.NET - динамические элементы управления, созданные в Page_Pre_init () или Page_Init () или Page_Load () - PullRequest
5 голосов
/ 25 октября 2010

Где лучше всего создавать динамические элементы управления в ASP.NET? MSDN говорит Pre_init, другая статья MSDN говорит Init, а некоторые люди говорят событие Load (что я прочитал нехорошо).

Я учусь на сертификацию MS и хочу убедиться, что знаю, какой из них идеален и почему. Сначала я хотел создать объект в pre_init и назначить любые значения свойств в событии Load (чтобы ViewState загружался для динамического элемента управления).

Ответы [ 2 ]

4 голосов
/ 25 октября 2010

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

Бывают ситуации, когда вы не можете добавить их так рано.

  1. Добавление элемента управления в ответ на какой-либо ввод пользователя (например, нажатие кнопки).
  2. Вам необходимо загрузить определенный элемент управления в зависимости от состояния страницы, на которой вы находитесь.В этом случае вам, вероятно, придется подождать, пока событие загрузки содержащего элемента управления не определит, нужно ли загружать элемент управления или нет.

Как общее правило, добавьте их, как толькоВы можете.

4 голосов
/ 25 октября 2010

Я рекомендую Page_Init ().Это позволит обойти проблему отсутствия постоянной загрузки ViewState.Элементы управления будут доступны, но viewstate еще не применен к ним.Именно здесь вы хотите добавить элементы управления для второй статьи.

Кроме того, исходя из опыта, это то, что работает.любой другой подход вызвал у меня проблемы.

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