2010-01-14 1 views
0

http://www.allinterview.com/showanswers/73327.htmlКогда страница использует главную страницу, тогда элементы управления, созданные во время разработки, инициализируются ...?


а) Если я понимаю вышеуказанную статью правильно, то когда страница имеет главную страницу, связанную с ним, то все элементы управления (те, объявленные в главной странице, и те, объявленным в Материалам) созданные во время разработки, присваиваются декларативным значениям только во время события Init?

b) Предполагая, что наша страница связана с главной страницей, а также использует тему -> файлы скинов также применяются во время события Init, поэтому я предполагаю, что во время события Init Asp.Net сначала инициализирует элементы управления их декларативными значениями и только затем применяет к ним правила скинов?

c) Но если страница не использует главную страницу, то элементам управления, которые она объявляет во время разработки, присваиваются значения до события Init?


Thanx

ответ

1

Вот better article about this on MSDN. Прокрутите вниз до событий жизненного цикла.

Если я правильно понимаю ваши вопросы, все, что вы задаете в a, b и c, происходит во время Pre_Init. Событие Init запускается после инициализации всех элементов управления во время Pre_Init. Таким образом, во время Init вы можете читать или инициализировать свойства этих элементов управления.

Обратите внимание, что вы по-прежнему «инициализируете» свойство управления во время Init.

Пример ...

<asp:Label ID="Label1" runat="server" CssClass="someclass"></asp:Label> 

Init: 
Label1.CssClass = "someotherclass"; 

Поправьте меня, если я ошибаюсь, ребята ...

Я считаю, что Label1 будет initialzed с CssClass установлен в "SomeClass" во время Pre_Init, а затем CssClass Label1 является повторно -initiazed (начальное значение изменяется) на «someotherclass». Поэтому, когда страница загружается, значение класса будет «someotherclass».

И попытка получить доступ к Label1.CssClass в блоке Pre_Init не будет работать, поскольку Label1 еще не инициализирован. У вас есть доступ к свойствам управления из Init.

Этот порядок инициализации не изменяется, есть ли у вас MasterPage или нет. Рассмотрим MasterPage как еще один элемент управления. Я считаю, что все элементы управления внутри MasterPage также инициализируются во время Pre_Init.

Надеюсь, это ясно.

+0

«Этот порядок инициализации не изменяется, есть ли у вас MasterPage или нет. Рассмотрим MasterPage как просто еще один элемент управления». Но если я не ошибаюсь, элементы управления должны сначала быть помещены в дерево управления, прежде чем им можно будет присвоить их декларативный значения? А когда страница имеет связанную с ней главную страницу, то элементы управления страницы не помещаются в дерево управления только во время Pre_Init или, возможно, даже во время события Init? Тогда, если это так, то не самое раннее, что этим элементам управления могут быть присвоены их декларативные значения во время события Init? – carewithl

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