Ich habe die gleiche Frage wie:keine Daten Gridview auf Postbacks von Details Bindung
GridView contents don’t update when underlying data changes
aber die gelieferten Antworten arbeiten nicht für mich, ich bin nach Ideen bitte, weil ich bisher verschwendet 3 Tage versuchen, eine GridView auf dem Postback eines DetailsView zu aktualisieren.
Situation ist folgende: -
ich ein Gridview habe, dass, wenn eine Zeile ein Detail zeigt die detaillierten Informationen ausgewählt. in.
Beim Klicken auf Bearbeiten geht der DetailsView in den Bearbeitungsmodus.
Ich bearbeite es und klicken Sie auf die Schaltfläche Aktualisieren.
Das Update löst ein Ereignis aus und es aktualisiert korrekt meine SQL-Datenbanktabelle.
Das Problem ist trotz 100 von Posts sagen GridView1.Databind(); Es wird nicht aktualisiert, bis ich auf die Schaltfläche Abbrechen klicke.
Ich kenne seine Buchung zurück, da ich es debuggte und es in Page_load (...) Postback gesehen habe.
Ich habe
hinzugefügtSqlDataSource1.DataBind();
und
GridView1.DataBind()
an folgenden Orten und keiner scheint mein Gridview zu aktualisieren.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
...
}
else
{
SqlDataSource1.DataBind();
GridView1.DataBind();
}
}
auch
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
GridView1.DataBind();
}
auch
protected void DetailsView1_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
{
//GridView.SelectedIndex = -1;
SqlDataSource1.EnableCaching = false;
// UpdatePanel14.Update();
SqlDataSource1.DataBind();
GridView1.DataBind();
SqlDataSource1.EnableCaching = true;
// EndEditingGridView();
}
So wie Sie ich ein Postbacks unter Page_Load versucht haben, sehen können(), Aktualisierung und aktualisiert des Details zu. Ich habe auch versucht, 'ViewState = Disabled' auf dem GridView zu setzen. Nichts scheint es zu veranlassen, seinen Inhalt zu aktualisieren, wenn ich nicht auf die Schaltfläche 'Abbrechen' klicke. Vielen Dank.
Wenn Sie auf Abbrechen klicken, gibt es einen Postback-Hapenning. Ich würde versuchen zu entfernen: if (! IsPostBack) { ... } sonst { } und ich würde verlassen SqlDataSource1.DataBind(); GridView1.DataBind(); lassen Sie mich wissen, ob dies eine Lösung ist – Alexandre
Wie werden Daten in die DetailsView gefüllt und aktualisiert? Bitte zeigen Sie diesen Code an – naveen
Vielen Dank für Ihre Kommentare, indem Sie sie zum Stamm von Page_Load hinzufügen, so dass die Gridview nicht mehr auswählbar ist. Ich habe meine Antwort unter – FlashTrev