CatZMedlem sedan jan. 20022 440 inlägg Jag har en ObjectDataSource som jag vill uppdatera problemet är bara att ID alltid är 0, alla dom andra värdena följer med och min ID Parameter ser ut som följer:
<asp:Parameter Name="ID" Type="Int32" />
Kolumnen i GridViewn ser ut såhär:
<asp:BoundField DataField="ID" Visible="True" InsertVisible="True" ReadOnly="True" SortExpression="ID" />
Varför får parametern ID aldrig något annat än värdet 0?
GladhMedlem sedan maj 20012 812 inlägg Nu har jag aldrig andvänt ObjectDataSource, men jag har svårt att tro att de skulle uppdatera ditt ID till dig, det måste du göra själv, antingen i kod eller i databasen genom att sätta den som en räknare.
- M
CatZMedlem sedan jan. 20022 440 inlägg Det hjälper att sätta DataMembers="ID". Fråga mig inte varför dock.
Jag ska ta bort min ObjectDataSource då den är ett onödigt moment nu när jag fått mitt 3 skikt att fungera.
Catz skrev:
Det hjälper att sätta DataMembers="ID"
Man brukar sätta DataKeyNames till den kolumnen som är primärnyckel. Och denna primärnyckel behöver du inte skicka med som parameter i dina insert/update/delete metoder, den följer med ändå!
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.datakeynames.aspx
CatZ skrev:
Jag ska ta bort min ObjectDataSource då den är ett onödigt moment nu när jag fått mitt 3 skikt att fungera.
Varför då? Objectdatasource är väl ett utmärkt och enkelt sätt att koppla gridviewn (presentation) till dina objekt (business)! Finns väl inget enklare sätt?! :)