ASP.NET Preload Post Back Событие - PullRequest
1 голос
/ 11 февраля 2009

Существуют ли какие-либо события, которые допускали бы событие предварительной загрузки после возврата.

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

Спасибо!

Ответы [ 6 ]

1 голос
/ 11 февраля 2009

Попробуйте событие Init.

0 голосов
/ 11 февраля 2009

Как уже было сказано, правильное место для добавления динамических элементов управления в событии Init. Вот статья с дополнительной информацией.

Динамические веб-элементы управления, обратные передачи и состояние просмотра

Чтобы лучше понять жизненный цикл страницы ASP .NET, см .:

Обзор жизненного цикла страницы ASP.NET

0 голосов
/ 11 февраля 2009

Эта страница объясняет порядок событий (и что происходит в каждом из них) в постбеке, это помогло мне не раз.

Я только что нашел эту ссылку , которая также может быть вам полезна

0 голосов
/ 11 февраля 2009

Как и выше, динамические элементы управления должны быть добавлены во время события Init страницы, чтобы их можно было правильно обработать в Viewstate страницы. Возможно, вы захотите отключить Viewstate и для страницы, поскольку она может вызвать у вас ошибки при изменении элементов управления.

0 голосов
/ 11 февраля 2009

Вот быстрый взлом. Вы всегда можете запросить __EventTarget и / или значение кнопки отправки в init и можете динамически загрузить элемент управления.

Но это может быть неуместно, поскольку ваша иерархия элементов управления изменится и может вызвать проблемы.

0 голосов
/ 11 февраля 2009

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

...