У меня такой же вопрос:
Содержимое GridView не обновляется при изменении базовых данных
но предоставленные ответы не работают для меня, мне нужны идеи, пожалуйста, потому что до сих пор я потратил 3 дня, пытаясь обновить GridView при обратной передаче DetailsView.
Ситуация такая: -
У меня есть GridView, который при выборе строки DetailsView отображает подробную информацию. в.
При нажатии кнопки редактирования DetailsView переходит в режим редактирования.
Я редактирую его и нажимаю кнопку «Обновить».
Обновление запускает событие и правильно обновляет мою таблицу базы данных SQL.
Проблема заключается в том, что в сотнях сообщений говорится об использовании GridView1.Databind (); он не обновится, пока я не нажму кнопку «Отмена».
Я знаю, что он отправляется обратно, потому что я его отлаживал и видел в постбэке Page_load (...).
я добавил
SqlDataSource1.DataBind ();
и
GridView1.DataBind ()
в следующие места, и, похоже, ни один из них не обновляет мой GridView.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
...
}
else
{
SqlDataSource1.DataBind();
GridView1.DataBind();
}
}
также
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
GridView1.DataBind();
}
также
protected void DetailsView1_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
{
//GridView.SelectedIndex = -1;
SqlDataSource1.EnableCaching = false;
// UpdatePanel14.Update();
SqlDataSource1.DataBind();
GridView1.DataBind();
SqlDataSource1.EnableCaching = true;
// EndEditingGridView();
}
Итак, как вы можете видеть, я пробовал выполнить обратную передачу в разделе Page_Load (), а также при обновлении и обновлении DetailsView. Я также пробовал установить ViewState = Disabled в GridView. Кажется, ничто не заставит его обновить свое содержимое, если я не нажму кнопку «Отмена». Спасибо.