Avatar billede easybob Nybegynder
09. marts 2004 - 15:13 Der er 6 kommentarer og
1 løsning

ViewState: Dynamiske generede websider..

Jeg har en side, hvor jeg generer en tabel ud fra et array.
Tabellen bliver udfyldt ved at jeg laver de forskellige rows, cells og controls.
eks. TableRow tb = new TableRow();
TableCell tc = new TableCell();
TextBox tb = new TextBox();
(herefter add'er jeg dem til tablen...)

Disse bliver lavet i OnInit metoden.
I page_load tildeler jeg dem en værdi, hvis ikke det er postback

Mit spørgsmål er. Når jeg har dynamisk generede text-boxes (controls), hvordan får jeg den så til at huske de ændringer der er lavet, hvis der kommer et postback? Altså hvis jeg har tastet noget ind i en af textbox'erne og laver en anden ændring på siden, hvordan får jeg ViewState til automatisk at indsætte den rigtige værdig igen.
Eller er dette ikke muligt, så man er nødt til at lave et par krumspring?
Avatar billede dgivoni Nybegynder
09. marts 2004 - 15:19 #1
Hvis dine textboxe har runat="server" og du ikke har disablet viewstate, skulle det ske automatisk.
Avatar billede easybob Nybegynder
09. marts 2004 - 15:23 #2
Jeg har ikke disabled viewstaten, men som sagt er de dynamisk eller programatisk genereret, og derfor burde runat="server" ikke være en mulighed
Avatar billede dgivoni Nybegynder
09. marts 2004 - 15:33 #3
Naa, nej jeg var vist lidt for hurtig...
Har du proevet med
tb.EnableViewState = true;

Jeg er ikke helt sikker paa om det du oensker er bare at bevare vaerdien i tekstboksene eller om de bliver paavirket/aendret af de andre aendringer paa siden?
Avatar billede easybob Nybegynder
09. marts 2004 - 15:52 #4
Det er at bevare dem.... Men jeg tror faktisk at jeg er kommet frem til en løsning. Men det skal jeg lige checke i aften. Det var andet steds i koden det var galt, men jeg vender nok lige tilbage...
Avatar billede dgivoni Nybegynder
09. marts 2004 - 15:58 #5
ok, jeg vil gerne hoere hvad loesningen er, hvis du finder ud af det...
Avatar billede easybob Nybegynder
10. marts 2004 - 00:20 #6
Du har faktisk ret i at de selv bliver opdateret. Så dit svar var faktisk rigtig, blot skal man huske at genere controlerne hver gang uden at tildele dem en værdi. En fin løsning er at placere denne kode i OnInit metoden.

I mit telefælde var problemet at når jeg lavede ændringer, så skulle jeg gemme deres state manuelt, da jeg lavede nogle ændringer på disse.

Jeg er i gave humør, så du skal nok få dine point.
Avatar billede dgivoni Nybegynder
10. marts 2004 - 07:44 #7
Mange tak :)
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