Ich habe die GridView unten. Ich bin an eine benutzerdefinierte Datenquelle im Code gebunden. Es kommt gut in das "OnRowUpdating" -Ereignis, aber es gibt keine NewValues oder OldValues. Irgendwelche Vorschläge, wie ich diese Werte bekommen kann?
%Vor%Was das GridView-Steuerelement betrifft RowUpdating Event Problem, es ist die erwartetes Verhalten, wenn wir es tun GridView (oder anderes nicht zuordnen) ASP.NET 2.0 datengebundene Steuerung) mit DataSource-Steuerelement wird es nicht automatisch abfragen und füllen Sie die Parameter Sammlung der Aktualisieren / Löschen / ... Ereignisse. In solch Fälle müssen wir manuell extrahieren Feldwerte aus der Vorlage Kontrolle.
Das sagt ein Microsoft-Mitarbeiter in hier .
In diesem Fall können Sie das mit ExtractValuesFromCell
BEARBEITEN:
Ich habe ein Stück Code in den Kommentaren von dieses Blog:
%Vor%Havent hat es getestet, scheint aber das Problem zu lösen, lassen Sie es mich wissen.
Ich habe die Datenbindung in meinem Page_Load-Ereignis durchgeführt, und als ich auf "Update" geklickt habe, war das PostBack fertig, und das Page_Load-Ereignis wurde ausgelöst. GridView wurde wieder mit den alten Werten gefüllt, daher konnte ich im myGrid.RowUpdating-Ereignis keine neuen Werte abrufen. Wenn das hilft
Sie müssen das IsPostback im Formular laden überprüfen. Wenn das Update der Gridview das Postback durchgeführt hat, wurde es zuerst mit den alten Werten aktualisiert. Verwenden Sie IsPostback, um dies zu verhindern:
%Vor%Auf diese Weise werden die "neuen" Gridview-Werte nicht überschrieben
Tags und Links asp.net gridview asp.net-3.5