webForumDet fria alternativet

ObjectDataSource Update Method

4 svar · 579 visningar · startad av CatZ

CatZMedlem sedan jan. 20022 440 inlägg
#1

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
#2

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
#3

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.

doggelitoMedlem sedan juni 20003 076 inlägg
#4

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?! :)

CatZMedlem sedan jan. 20022 440 inlägg
#5

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! ;)

141 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)