Avatar billede radiohead Nybegynder
15. december 2008 - 14:30 Der er 1 kommentar

value fra dynamisk oprettede kontroller

Hey

Når man klikker på en knap(lnkAddCtrl), bliver der oprettet en kontrol(et kan være textbox, dropdownliste, checkboxes o.l).

Denne kontrol skal så udfyldes, og når der klikkes på en anden knap(lnkSaveValues), skal værdien af denne kontrol gemmes.

Jeg imidlertid det famøse problem med, at kontrollen kyles væk ved postback, og kan derfor ikke umiddelbart gemme værdien.


Jeg har brugt en rum tid på google og tjekket artiklen her på siden, men der er ikke umiddelbart nogen løsende svar.
Jeg kan sgu ikke gennemskue hvor og hvornår kontrollen skal rekreeres.
Avatar billede slash Nybegynder
21. januar 2009 - 22:09 #1
page_init. Kontrollerne tilføjes under page_init.

Lav én funktion der injecter dine kontroller på en placeholder. Placeholder defineres statistk på siden. Hold styr på dine tilføjede kontroller i en variabel (liste evt.!) Gem listen i session.

Når du submitter - altså laver postback - løber du din liste fra session igennem og adder kontrollerne til placeholderen igen. Viewstate vil så automatisk proppe værdierne ind i kontrollerne...

Kode til at hive data ud fra kontroller ved postback!
Dim p As PlaceHolder = phControls 'Placeholderen som indeholder dynamiske kontroller
For Each c As Control In p.Controls
  If TypeOf c Is TextBox Then
    Response.Write "Teksten fra boksen er: " & DirectCast(c, TextBox).Text
  End If
Next
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