Avatar billede cdull Nybegynder
24. maj 2007 - 14:21 Der er 3 kommentarer og
1 løsning

Make usercontrol persistent

Jeg har en usercontrol som jeg loader ved en button event på min main.aspx side
Når main.aspx foretager en PostBack, mister jeg jo min usercontrol da den loades i button event.
Hvordan gør jeg bedst muligt så jeg bibeholder min usercontrol ?

Det drejer sig om andre events i min usercontrol, der trigger en PostBack.

Jeg bruger det hele til noget navigering, og min navigation kaster en ny UserControl i min placeholder. Hvilken usercontrol der skal loades, afgøres ved button events.

Any Ideas ?
Avatar billede neoman Novice
24. maj 2007 - 14:33 #1
Ok - her kommer det igen så :-)

Alt hvad du loader dynamisk, og derfor ikke har fast deklareret i aspx-filen, lever kun indtil næste postback. Pudsigt nok så overlever kontrollens viewstate, og hvis du genloader kontrollen, og den har samme ID som forudgående gang (eller autogenereret id, som så også skal være den samme, hvilket opnås ved at loade dynamiske kontroller i samme rækkefølge fra gang til gang) - så bliver viewstate og kontrol lykkeligt genforenet :)

Du kan ikke få persistence i placeholderen (eller andre steder) - du skal genloade kontrollen ved postback.  Men du kan jo f.eks. have et skjult felt på din side, som husker at du har trykket på knappen, og i din pageload tjekke værdien på feltet og genloade kontrollen på den måde.

Et muligt  alternativ kunne måske være at have flere placeholdere permanent, men usynlige, og gøre dem synlige efter behov  ved tryk på din knap.
Avatar billede cdull Nybegynder
24. maj 2007 - 15:18 #2
Jeg brugte din løsning, og har oprettet en funktion som ud fra en variabel afgører hvilken usercontrol der skal loades.
Det virker fint, men der er altid et men :D

Jeg har en Second Usercontrol som loader end secondary usercontrol som har en button event.
Denne button event raises først efter 2 klik. Hvor First Usercontrols event, raises efter 1 klik.

Det er meget underligt.
Nogen der har et take på det.

neoman. Smid et svar. Løsningen var super.
Avatar billede neoman Novice
24. maj 2007 - 15:36 #3
Fint nok tak :O)

Det med de events - gad vide om det er noget med at de events og buttons stadig ikke bliver gift på den rette måde ? Jeg tror nok .NET plejer at lave ID udfra det id som en kontrol har, tillagt  ID for den container som kontrollen sidder i, men ved ikke helt hvordan det fungerer med user controls. Jeg ville prøve at assigne de knapper nogle specifikke unikke ID'er , fordi det kunne være at det var dem der gik noget galt med. Dette er lidt langt ude, men kan ikke umiddelbart komme i tanker om andet.
Avatar billede cdull Nybegynder
25. maj 2007 - 12:15 #4
Neoman, jeg har oprettet en anden tråd med event problemet. Det viste sig at være det du sagde til mig.
http://www.eksperten.dk/spm/780104

hent dine velfortjente point.
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