Avatar billede daxiez Nybegynder
04. november 2005 - 11:39 Der er 7 kommentarer og
1 løsning

Gemme nyt viewstate ?

Jeg opretter nogle Textboxe dynamisk og giver dem et id og deres viewstate gemmes. jeg kliker på en knap for at gemme ændringer i textboxen til en db, bruger findcontrol["id"] til at finde textboxen igen og sætter tekstboxens text = viewstate. Jeg forstår godt at det så er den gamle viewstate jeg så gemmer, men hvordan gemmer jeg ændringer i viewstate inden jeg trykker på gem! så det altså er den ændrede tekst der gemmes ?
Avatar billede snepnet Nybegynder
06. november 2005 - 10:58 #1
gemmer/henter du manuelt til/fra viewstate eller?

du kan lige se nedenstående eksempel - og se om det ikke bare er det du skal bruge... du må lige sige til hvis jeg har misforstået dig.

mvh

// denne knap på en side
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

// og i page_load
TextBox tb = new TextBox();
tb.ID = "id";
form1.Controls.Add(tb);

// og i button1's klikhandler
TextBox tb = FindControl("id") as TextBox;
string newText = tb.Text; // dette er så den tekst brugeren har indtastet
Response.Write(newText);
Avatar billede daxiez Nybegynder
07. november 2005 - 10:01 #2
Det virker ik fordi Textboxen der blev oprettet forsvinder i samme sek som man trykker på Button1. kan det virkelig passe man ikke kan lave den i et andet event end pageload ?
Avatar billede daxiez Nybegynder
07. november 2005 - 12:13 #3
Det skal simpelt hen ske i Pageload eventet ! hvis ikke sine controls bliver lavet der gemmes de ikke i Viewstate ! men sådan set også dit svar ! synes bare det er temmelig dårligt !
Avatar billede snepnet Nybegynder
07. november 2005 - 22:34 #4
at knappen forsvinder fra siden har ikke noget med viewstate at gøre.
hvis du sætter kontroller ind dynamisk, skal du gøre det hver gang, hvilket også er det der sker hvis du indsætter dem deklaretivt i din aspx-kode.
såhh.... hvis du indsætter kontroller i en eller anden eventhandler (f.eks. ved click-eventet på en knap) - vil kontrollen kun dukke op når der klikkes på knappen.
mvh
Avatar billede daxiez Nybegynder
07. november 2005 - 22:53 #5
oki... tror vi snakker forbi hinanden ! Det er noget tekst i nogle dynamiske oprettede textboxe der ikke gemmes i viewstate. Har løst problemet ved at lave dem i page load i stedetfor SelectedIndexChanged(). synes bare det er mærkeligt at viewstate ikke gemmes ved et hvert event !
Avatar billede snepnet Nybegynder
08. november 2005 - 01:27 #6
det gør det bestemt også.... viewstate gemmes lige efter prerender, og lige før render.

dit problem har ikke noget med viewstate at gøre... teksten i tekstbokse skrives ikke der.

selectedindexchanged er et event tilsvarende et clickevent på en knap, og hvis du sætter tekstbokse ind i et sådan event, forsvinder de ved næste postback - simpelthen fordi de ikke bliver sat ind.

det kan være hensigtsmæssigt at tilføje kontroller dynamisk før page_load eksekveres (og ikke imens) - dvs. under initialiseringen.

mvh
Avatar billede daxiez Nybegynder
18. maj 2006 - 12:30 #7
smid et svar !
Avatar billede snepnet Nybegynder
18. maj 2006 - 21:57 #8
Kommer her :o)
Mvh
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