Fragensteller
Mindestens eine Eigenschaft für Typ <LinqEntity> konnte nicht festgelegt werden. <Wert> ist kein gültiger Wert für Int32.

Allgemeine Diskussion
-
Hallo Community,
ich habe ein Problem mit einem automatischen Löschvorgang im GridView in ASP.NET. Wenn ich eine Zeile löschen möchte erscheint die oben genannte Fehlermeldung. ASP.NET stört sich anscheinend an der Rückkonvertierung für einen Wert in dem GridView, den ich per DataFormatString formatiert habe. In der Spalte stehen Zahlen wie z.B. -18.065 (also mit Minuszeichen und Dezimaltrennzeichen).
Wie kann ich den Fehler umgehen?
Gruß
Gerrit
- Typ geändert Aleksander Chalabashiev Freitag, 10. April 2015 09:52 keine bestätigte Lösung
Alle Antworten
-
Hallo Gerrit,
poste doch bitte den relevanten Code, sowohl den für das Auslesen und Zuordnen der Datensatzliste als auch den für das Löschen. Die Deklaration des GridView und ggfs. der Datenquelle bitte nicht vergessen.
Generell solltest Du immer mit den Originalwerten aus der Datenquelle und nicht mit den ggfs. für die Ausgabe formatierten Werten im GridView arbeiten. D.h. auch das Löschen sollte in der Datenquelle passieren und keinen Rückgriff auf die Ausgabewerte des GridView vornehmen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Gerrit,
ist der Thread noch aktuell?
Gruß
Aleksander
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Ja, ist er ;-) Bin nur am Wochenende nicht dazu gekommen den Code zu posten. Ich benutze eigentlich nur die Standard-Funktionalitäten. Irgendwie bekommt es ASP.NET nicht hin, den Wert den ich mit {0:N0} formatiert habe, beim Postback zu casten. Dabei will ich ja eigentlich gar nichts updaten, sondern nur den Datensatz löschen.
<asp:GridView ID="gridviewTbl" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="LinqDataSourceTbl" SkinID="gridviewDefault" OnRowDeleting="gridviewTbl_RowDeleting"> <Columns> <asp:BoundField DataField="Liter" HeaderText="Liter" SortExpression="Liter" DataFormatString="{0:N0}" /> </Columns> </asp:GridView> <asp:LinqDataSource ID="LinqDataSourceTbl" runat="server" ContextTypeName="MyDBDataContext" EnableDelete="True" EntityTypeName="" TableName="Tbl" OnSelecting="LinqDataSourceTbl_Selecting" OnDeleting="LinqDataSourceTbl_Deleting"> </asp:LinqDataSource>
protected void LinqDataSourceTbl_Deleting(object sender, LinqDataSourceDeleteEventArgs e) { // e.OriginalObject ist null }
- Bearbeitet Gerrit Horeis Montag, 30. März 2015 10:03