Laden...

[gelöst] GridView & ObjectDataSource - Problem bei Delete

Erstellt von Michbeck1983 vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.552 Views
Michbeck1983 Themenstarter:in
239 Beiträge seit 2008
vor 14 Jahren
[gelöst] GridView & ObjectDataSource - Problem bei Delete

Hallo zusammen,

ich habe ein großes Problem mit einer GridView und "angeschlossenem" ObjectDataSource und dem Löschen von Einträgen...

Das ObjectDataSource ist an ein Business-Objekt gebunden, dass folgende Delete-Methode definiert:


public void DeleteArticle(Guid articleGuid) { ... }

Die ObjectDataSource ist nun also an das Business-Objekt gebunden:


<asp:ObjectDataSource ID="ObjectDataSourceArticles" runat="server" 
            DataObjectTypeName="System.Guid" DeleteMethod="DeleteArticle" 
            SelectMethod="GetAllArticles" 
            TypeName="ArticleBo"></asp:ObjectDataSource>

Binde ich nun das GridView an die DataSource, und starte das Löschen, bekomme ich von meiner Business-Methode eine Fehlermeldung, da er eine leere GUID übergibt. Soweit ja auch ok, aber wie schaffe ich es nun das er die GUID des aktuell selektierten Objekts übergibt?

Sobald ich nämlich die DateKeyNames-Eigenschaft des GridView auf den Primärschlüssel ("Id") setze, bekomme ich den Fehler "Eine Eigenschaft namens "Id" für den durch die DataObjectTypeName-Eigenschaft in ObjectDataSource "ObjectDataSourceArticles" angegebenen Typ konnte nicht gefunden werden.". Und ab jetzt beginnt meine Leidensgeschichte, denn egal was ich mache und welche Tipps ich aus der Google-Suche befolge, es klappt einfach nicht.

Für irgendwelche Tipps und Anregungen wäre ich sehr dankbar.

Gruß Michbeck1983

Neulich im Computerkurs:
Mein Computer kennt Else nicht! 😁


[URL]XING-Profil[/URL]

T
307 Beiträge seit 2008
vor 14 Jahren

Bei Deinem Problem kann ich Dir leider nicht firekt weiter helfen, aber ich habe vor Jahren die Erfahrung gemacht dass das GridView alleine sehr sehr Fehlerhaft ist und habe es seit dem auch nicht mehr verwendet. Vor allem mit den DataKeys kann es große bzw. unlösbare Probleme geben.
Wenn ich mit ASP was mache und Tabellen darstellen soll dann baue ich mir die selber zusammen weil das keine großen Aufwand macht.
Aber nochmal zu Deinem Problem, poste doch mal mehr Code damit man das auch besser nachvollziehen kann.

Michbeck1983 Themenstarter:in
239 Beiträge seit 2008
vor 14 Jahren

Hallo Taucher,

es hätte wenig mehr Code gegeben, da es sich im Wesentlichen um einen Konfigurationsfehler in der ObjectDataSource gehandelt hat. Wenn ich mir im Nachhinein die Fehlermeldung durchlese, wirds mir auch klar - verstehe nicht, warum ich das nicht gleich gesehen habe.

Der Fehler lag einfach darin, dass der Designer in der DataObjectTypeName-Property der DataSource den Typ System.Guid eingetragen hat, was natürlich Käse ist - hier musste der zugrunde liegende Datentyp (also meine Datenklasse) rein. Danach noch die Delete-Methode ändern, dass sie nicht die ID, sondern den Typ als Parameter akzeptiert, und fertig 😃

Gruß Michbeck1983

Neulich im Computerkurs:
Mein Computer kennt Else nicht! 😁


[URL]XING-Profil[/URL]