Работа с DataBinding и Page_Load в ASP.NET MVP

Я использую WebForms MVP для создания простых приложений для создания отчетов. Большинство этих приложений состоят из нескольких входных критериев поиска и сетки данных ComponentArt, которую я заполняю данными из базы данных.

Большая часть разметки находится в UserControl, который находится на странице содержимого с главной страницей. Моя проблема в том, что событие Page_Load элемента управления запускается до событий элемента управления, которые в первую очередь вызвали обратную передачу. По сути, пользователь нажимает кнопку поиска, и Page_Load запускается ДО Search_Click. Это мешает схеме привязки данных, которую я использовал.

Итак, вот вопрос: почему мое событие Page_Load срабатывает перед обработчиком событий и что я могу с этим поделать? Я НЕ ДУМАЮ, что эта проблема связана с WebForms MVP или ComponentArt, но, очевидно, я могу ошибаться.

Спасибо.


person Joel    schedule 09.04.2010    source источник


Ответы (1)


«Почему мое событие Page_Load срабатывает перед обработчиком событий?»

Потому что это то, что ДОЛЖНО произойти. Это по дизайну. Если это мешает вашей привязке данных, значит, вы делаете что-то не так, потому что так работают все приложения веб-форм ASP.NET. Если вы не хотите, чтобы привязка данных выполнялась до Search_Click, проверьте IsPostback во время Page_Load... это основная причина, по которой свойство существует.

person Bryan    schedule 10.04.2010