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
4 svar · 579 visningar · startad av CatZ
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?
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
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?! :)
doggelito skrev:
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
Ja det var den jag menade!CatZ skrev:
JVarfö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?! :)
Jag tog bort objdatasource och band datan i codebehind men det känns som för mycket arbete så den är tillbaka igen.
Det är väldigt smidigt att binda sin bll till presentationslagret med hjälp av ObjectDataSource så den stannar! ;)