Avatar billede saudoo Nybegynder
14. juni 2012 - 15:26 Der er 6 kommentarer og
1 løsning

Hente information fra programmelt oprettede controls

Hej Eksperten,

Jeg sidder og bøvler lidt.

Sagen er den, at jeg har en side hvor jeg har forskellige Panels, som bliver skjult og ved hjælp af knapper. Det fungerer som et slags Wizard, bare ude at være det.

Det jeg så skal have på et af panelerne, er programmelt oprettede controls. Hvad jeg mere konkret skal vise, er nogle produkter, som man kan krydse af. Denne information skal jeg gerne have gemt med over i en hashtable som bliver gemt i en viewstate eller i en session, sådan at jeg kan bruge det i til slut i min wizard-lignende situation, eller hvis man komme tilbage for senere at rette i tidligere indtastet information så jeg kan oprette elementerne igen med de tidligere indtastede info.

Fra code-behind laver jeg ikke noget vildere, end en normal oprettelse af et objekt jeg så smider ind i mit panel.

      Dim txtAntalFelt As New TextBox
      txtAntalFelt.ID = "txtAntalFelt" & produkt.Item("fldId")
      txtAntalFelt.ClientIDMode = UI.ClientIDMode.Static
      txtAntalFelt.TabIndex = 1
      txtAntalFelt.Enabled = False
      txtAntalFelt.CssClass = "antalFelt"

      ' Dette vil så være mit panel, hvor controlen bliver smidt ind i.
      pnlMadDag.Controls.Add(txtAntalFelt)


Problemet er bare at fange info'en på et postback.

Jeg håber I kan hjælpe. Sig endelig til, hvis I skal bruge anden info.
Avatar billede keysersoze Guru
14. juni 2012 - 17:22 #1
hvornår bliver kontrollerne oprettet
Avatar billede saudoo Nybegynder
14. juni 2012 - 17:27 #2
De bliver lavet på onload. Men de skal vel på længere sigt også oprettes når man lavet et postback, for at gå frem og tilbage mellem de forskellige "sider" som panelernes tilstand simulerer.
Avatar billede keysersoze Guru
14. juni 2012 - 18:19 #3
Præcis - det og så samme id på tværs af kald skal være opfyldt.
Avatar billede saudoo Nybegynder
14. juni 2012 - 18:28 #4
Så hvis jeg bare genererer de samme controls, så bliver eksempelvis tekst fra en tidligere tekstboks overført til de nyligt oprettede control?

Jeg har prøvet med at bruge Page.findControl() (tror jeg den hedder), for at kunne gemme tekst eller checked-tilstand... men absolut uden held.
Avatar billede saudoo Nybegynder
14. juni 2012 - 21:11 #5
Hm... jeg må gøre noget helt forkert. Det virker jo fint, når jeg laver det i nyt tomt projekt. Hm. Jeg må lige se efter igen, hvad jeg gør forkert.


Du gav under alle omstændigheder et korrekt svar på hvordan skidtet fungere. :P Så smid et svar, så overfører jeg dine points.
Avatar billede keysersoze Guru
14. juni 2012 - 22:39 #6
svar.

Men hvad er problemet nu - at data ikke huskes, at du ikke kan få fat i dem eller?
Avatar billede saudoo Nybegynder
14. juni 2012 - 22:59 #7
Heh.. der var alverdens galt. Jeg brugte page.findControl i stedet for panelId.findControl og jeg var kommet til at smide oprettelsen ind i en !ispostback, da jeg sad tidligere og kløgede mig lidt i hovedbunden.

Men det var rart nok, at jeg vidste jeg bare lavede småting forkert og at det burde virke. :P

Det kører som en drøm nu. Det er nu rart at have en købslignende oplevelse, uden brug af sessions.
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