2008-08-17 11 views
3

Arbeits ich eine GridView in C# .NET 3.5 bin mit und haben gerade konvertiert die darunter liegende DataSource von Adapter Modell auf ein Objekt, das seine Daten von LINQ to SQL wird - ein Business-Objekt, dh dass returns ein List<> für die GetData() Funktion usw.Grid Löschen ist nicht

Alles war gut in Dänemark und die Update und bedingten Select Aussagen wie erwartet, aber ich kann die Delete Funktion nicht zur Arbeit kommen. Nur versuchen, die ID oder das gesamte Objekt zu übergeben, aber es wird in einem "new" Objekt mit keiner der Eigenschaften übergeben. Ich frage mich nur, ob es das alte OldValuesParameterFormatString="original_{0}" Monster im ObjectDataSource ist, das wieder Verwirrung verursacht.

Hat jemand irgendwelche Ideen?

+0

Haben Sie versucht, mit SQL Profiler oder einem Profiler-Tool zu überprüfen, ob der Löschbefehl überhaupt ausgelöst wird? –

+0

Ja - die Löschfunktion wird in der Business-Schicht aufgerufen, aber das übergebene Objekt ist ein "leeres" Objekt - d. H. Es ist nicht Null, aber die Elemente des Objekts sind Nullen und Nullen. – Guy

Antwort

6

Ich fand die Lösung. Ich musste die DataKeyNames-Eigenschaft des GridView auf den eindeutigen Schlüssel setzen, den meine Daten zurückgaben (in diesem Fall ein ID-Feld mit klassischem Namen). Ich vermute, dass diese Eigenschaft sich selbst "aufhebt", wenn das Grid aktualisiert wurde.