Если DataBind () вызывается внутри Page_Load (), то SqlDataSource не выполняет обновления - PullRequest
1 голос
/ 30 июля 2009

Если я связываю GridView (через атрибут DataSourceID) с SqlDataSource и устанавливаю атрибуты SelectCommand и UpdateCommand, то все работает отлично.

Но я заметил, что если я по какой-либо причине также вручную вызываю DataBind () внутри Page_Load (), то SqlDataSource не выполняет никаких обновлений, даже если события SqlDataSource.Updating и SqlDataSource.Updated возникают, когда GridView Нажата кнопка обновления.

Может кто-нибудь объяснить, почему обновления не происходят?

1 Ответ

8 голосов
/ 30 июля 2009

Это происходит из-за того, что Page_Load запускается ДО запуска SqlDataSource.Updating и SqlDataSource.Updated. Это означает, что GridView сбрасывается до того, что было до редактирования пользователем.

Пожалуйста, ознакомьтесь с документацией Page Lifecycle для деталей. События SqlDataSource.Updating и SqlDataSource.Updated происходят в разделе Обработка событий обратной передачи.

...