2010-04-09 1 views
0

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

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

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

Спасибо.

ответ

2

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

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