Avatar billede karsten_larsen Praktikant
02. april 2007 - 20:19 Der er 11 kommentarer og
1 løsning

Behandle data fra aspx inden update fra Formview

I forbindelse med update af data fra et formview vil jeg gerne have det gennem en function først.


På samme måde som når det skrives til siden
Text='<%# TextFormat(Eval("Text")) %>'

Så hvordan får jeg en funktion omkring @Text i

UpdateCommand="Update tb set TXT = @Text WHERE ID = @Id"

?? :-) karsten_larsen
Avatar billede dr_chaos Nybegynder
02. april 2007 - 20:24 #1
Du kan bruge onupdatingevent på dit formview eller det samme på din datasource.
Avatar billede karsten_larsen Praktikant
02. april 2007 - 20:33 #2
Mener du denne FormView1_ItemUpdated?
Avatar billede karsten_larsen Praktikant
02. april 2007 - 21:08 #4
hmm - ikke helt med, men hvis det er rigtigt forstået:

OnItemUpdating="FormView1_ItemUpdating" hvordan giver det mulighed for behandle data?

Således i codebehind:
SqlDataSource1.UpdateCommand="Update tb set TXT = @Text WHERE ID = @Id"
SqlDataSource1.Update()

men hvordan får jeg så fat på mine data?
Avatar billede neoman Novice
02. april 2007 - 21:18 #5
Slå den op på help - eventet sender nogle parametre med hvor man kan kigge på sine værdier. Se et eksempel her:
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.formviewupdateeventargs.aspx
Avatar billede karsten_larsen Praktikant
02. april 2007 - 21:35 #6
Vil dette så være korrekt?
  Sub FormView1_ItemUpdated(ByVal sender As Object, ByVal e As FormViewUpdatedEventArgs) Handles FormView1.ItemUpdated

  Dim keyValue As String = FormatInput(e.Keys("Text").ToString())
  Dim keyValueId As String = e.Keys("id").ToString()

  SqlDataSource1.UpdateCommand = "Update tb set TXT = " & keyValue & "WHERE ID = " & keyValueId
  SqlDataSource1.Update()
End sub
Avatar billede neoman Novice
02. april 2007 - 21:51 #7
Kommer an på hva du vil opnå. Hvis din FormView i forvejen er bundet til SqlDataSource så updater den datasourcen selv, og du får den updated to gange formentligt, eftersom du gennemfører eventet (uden  cancel).

Bemærk forskellen mellem ItemUpdatING og ItemUpdatED - i den første er data endnu ikke skrevet  ind i datasourcen, og tillader alskens fiksfakserier, inclusive CANCEL (afstå fra opdatering) , mens i den anden ER de blevet skrevet.

Hvis det er en anden datasource der her er tale om , så kan du gøre alt hvad du lyster inde i handleren.
Avatar billede karsten_larsen Praktikant
02. april 2007 - 22:14 #8
Det er den "lette" udgave af formview fra vs med SqlDataSource angivet på aspx siden. Det er dens automatisk genererede Update jeg gerne have mulighed for at ændre i. Det vil sige jeg sletter Update i SglDataSourcen på aspx og anvender ItemUpdating, hvor jeg fanger værdier og dernæst

SqlDataSource1.UpdateCommand = "Update tb set TXT = " & keyValue & "WHERE ID = " & keyValueId
  SqlDataSource1.Update()
Avatar billede neoman Novice
02. april 2007 - 22:24 #9
Det kan du ikke !

Så skal du have fat i ItemUpdatING eventet, og ej ItemUpdatED, fordi data ER blevet ændret i DB'en når ItemUpdated-eventet indtræder.

Du får fat i den ved at klikke på FormView i designeren, klikke på Lynetg i properties, og derpå dobbeltklikke på ItemUpdating eventet i listen. Så laver den en tom skal til dig i din code-behond fil som du så kan udfylde som du har lyst til.

Tillige skal du huske at cancle den event, siden du ønsker at lave din egen opdatering.
Avatar billede neoman Novice
02. april 2007 - 22:30 #10
Kors jeg lsæer som en blind mand hehe ... men prøv dig frem... og husk den cancel der (ved ikke helt hvad den laver hvis du ikke cancler):)
Avatar billede karsten_larsen Praktikant
02. april 2007 - 22:32 #11
neoman -> okay, det skal jeg nok huske på - jeg har ikke brugt formview så meget, foretrækker at lave det meste fra bunden - asp´en hænger vist stadig lidt for fast - vil du lave et svar og mange tak for hjælpen
:-) karsten_larsen
Avatar billede neoman Novice
02. april 2007 - 22:48 #12
Okie tak.  Det kommer jo, har selv trådt på mange miner, og er slet ikke færdig med det endnu! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester