ASP.net PreInit () против Init () - PullRequest
1 голос
/ 16 января 2011

Из местного форума я понял, что PreInit может использоваться для обработки следующих

PreInit()
>Master pages can be called dynamically
>Themes can be set dynamically
>Programatically add controls to controls collection

и я прочитал Init () для

Init()

В этом случае мы можем прочитать свойства элементов управления (установленные во время разработки). Мы не можем прочитать управляющие значения, измененные пользователем , поскольку это измененное значение будет загружено после возникновения события LoadPostData ().

Вопрос

Я не получаю точку «Мы не можем прочитать контрольные значения, измененные пользователем». пользователи меняют значение элемента управления? Пример поможет мне понять суть.

Ответы [ 5 ]

2 голосов
/ 16 января 2011

Допустим, у вас есть текстовое поле, выпадающий список, некоторые флажки ... пользователь вводит в них данные, и вы хотите прочитать их значения, написав

var text = myTextBox.Text;
var selectedItem = ddl.SelectedItem;

, чего вы не можете сделать раньше послеБыл вызван метод LoadPostData.

На этой странице приводится довольно хорошее резюме различных событий и того, для чего они должны использоваться http://msdn.microsoft.com/en-us/library/ms178472.aspx. В нем говорится, что для 100 следует использовать PreInit.создание динамических элементов управления и Init для установки на них свойств.

2 голосов
/ 16 января 2011

В первом сообщении вы показываете несколько элементов управления, например, текстовое поле и кнопку отправки.

Пользователь вводит код в текстовое поле и нажимает кнопку отправки.

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

Вы не сможете получить доступ к введенному значению, пока не обработан LoadPostData.

Это почти то же самое со всеми другими элементами управления на стороне сервера.

1 голос
/ 06 августа 2015

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

  • Проверьте свойство IsPostBack, чтобы определить, выполняется ли это в первый раз при обработке страницы. Свойства IsCallback и IsCrossPagePostBack также были установлены в это время.
  • Создание или повторное создание динамических элементов управления.
  • Установить главную страницу динамически.
  • Установить свойство Theme динамически.
  • Чтение или установка значений свойств профиля.

Инициализация: Возникает после инициализации всех элементов управления и применения любых настроек скина. Событие Init отдельных элементов управления происходит до события Init страницы.

0 голосов
/ 09 марта 2018

PreInit: инициализация главной страницы, пользовательских элементов управления, динамических элементов управления

Init: установка свойств элементов управления

0 голосов
/ 16 января 2011

Значение изменяется через PostBack.Изменения в данных формы определяются текущим ViewState (который не загружается до более поздних версий) по сравнению с данными формы.Поскольку это не загружается позже, вы не можете прочитать какие-либо контрольные значения в этой точке.

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