Avatar billede ladyhawke Novice
14. februar 2006 - 13:16 Der er 9 kommentarer og
2 løsninger

find ViewState

Jeg har en User Control som indeholder en DropDownList. Jeg vil gerne gemme SelectedIndex for denne i sidens ViewState (den side som indeholder User Control'en), men hvordan får jeg fat i den fra User Control'en?
Avatar billede mikkel_sommer Nybegynder
14. februar 2006 - 14:33 #1
Kan du ikke bruge noget i retning af:

UserControl.DropDownList.SelectedIndex
Avatar billede ladyhawke Novice
14. februar 2006 - 14:43 #2
det er ikke det der er mit problem...

Jeg kan sagtens tilgå noget i min user control, men hvordan sørger jeg lige for at det selected index også er selected igen, næste gang jeg viser den user control?

Min ide er at benytte ViewState (på siden) til at opbevare information for user control'en, så den ikke forsvinder når user controlen initialiserer sig selv igen (den tilføjes og fjernes løbende fra siden)
Avatar billede ladyhawke Novice
14. februar 2006 - 14:57 #3
Kan man evt. sætte ViewState fra global.asax?
Avatar billede mikkel_sommer Nybegynder
14. februar 2006 - 15:39 #4
I Page_Load:

UserControl.DropDownList.SelectedIndex = din viewstate variabel

vil jeg tro
Avatar billede ladyhawke Novice
14. februar 2006 - 15:46 #5
ja, det er også den vej jeg er på vej hen, men jeg er nødt til at kunne opdatere ViewState når man vælger noget nyt i UserControl...

Har så lavet noget eventhåndtering, men af en eller anden mystisk grund fyrer SelectedIndexChanged ikke første gang man vælger noget, men kun 2. gang og de efterfølgende... Indtil UserControl genloades, så starter balladen igen... suk
Avatar billede mikkel_sommer Nybegynder
14. februar 2006 - 15:56 #6
hmm .. har du autopostback = true på din dropdownlist?
Avatar billede ladyhawke Novice
14. februar 2006 - 16:22 #7
jep
Avatar billede dr_chaos Nybegynder
14. februar 2006 - 17:10 #8
Det er nemmere at gemme værdien i en session og så lave et databound event på dropdownlisten.
I databound event som ligges i selve usercontrollen bruger du:
  //når data er bundet til dropdownlisten
    protected void dindropdownliste_DataBound(object sender, EventArgs e)
    {
        dindropdownliste.SelectedIndex = dindropdownliste.Items.IndexOf(dindropdownliste.Items.FindByValue(Session["GemtVaedi"].ToString()));

    }
Avatar billede ladyhawke Novice
15. februar 2006 - 12:33 #9
Jeg har endelig fået det til at virke, med ViewState... Tak for budene, kan I ikke lægge svar begge 2 dr_chaos forslag er absolut udmærket...
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 12:37 #10
ok svar :)
Avatar billede mikkel_sommer Nybegynder
15. februar 2006 - 12:59 #11
svar
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