Avatar billede anhansen Nybegynder
12. juni 2004 - 12:36 Der er 7 kommentarer og
1 løsning

Lave en usercontrol som kan tilføjes x antal gange.

Hej,

Jeg vil gerne lave en side hvorpå jeg viser en usercontrol (indeholdende en dropdown, og to tekstbokse).
Når jeg så trykker på "tilføj ekstra person" skal der vises to usercontrols på siden.

Men jeg har nogle problemer med at finde ud af hvordan det er nemmest at sætte dem ind? Og få dem til at beholde deres værdier.

Er der nogle der har en god og nem løsning til en sådan struktur?
Avatar billede nielsbrinch Nybegynder
12. juni 2004 - 12:46 #1
Du laver en PlaceHolder som du så tilføjer UserControls til fra din CodeBehind. Når du tilføjer dine UserControls kan du definere eventuelle public properties som er relevante på dine UserControls.
Avatar billede anhansen Nybegynder
12. juni 2004 - 13:19 #2
Ok... Det er også sådan jeg har gjort det, men jeg synes der er nogle ting der ikke virker.
F.eks så giver min placeholder dem samme id? Måske fordi jeg gør det forkert?
Avatar billede anhansen Nybegynder
12. juni 2004 - 13:44 #3
Hvis jeg bare kører det med placeholder.add(myControl) som så "burde" tilføje en instans mere af kontrollen til placeholder - så er der stadig kun en. Det er ligesom placeholderen "glemmer" at der er en i den i forvejen ved postback?
Avatar billede anhansen Nybegynder
12. juni 2004 - 13:51 #4
Hvis jeg ændrer på min dropdown i controllen, så "forsvinder" den fra siden.

Jeg skal vel ikke putte den i hver gang siden "postbacker". Den er sat til viewstate=true
Avatar billede nielsbrinch Nybegynder
12. juni 2004 - 16:53 #5
Jeg ville prøve at lægge din placeholder i session og træk den ud af session ved hvert pageload.

Men du har ret, det burde da virke når din placeholder har viewstate=true
Avatar billede anhansen Nybegynder
15. juni 2004 - 14:03 #6
hmm... Nu har jeg endelig fået tid til at komme tilbage til det igen.. Håber du måske kan hjælpe lidt mere.
Når jeg nu prøver at putte min placeholder i viewstate skriver den at Placeholder skal være "serializable". Dette forklarer nok en god del af hvorfor den ikke som default ikke bliver gemt.. Da den ikke er serializable, kan den ikke laves om til en "streng" og gemmes i viewstate. Så langt så godt.

Når jeg så prøver at gemme placeholderen i en session variabel går dette fint.. nogenlunde. Jeg får gemt den og hentet objektet ind igen, og hvis jeg skriver placeholder.controls.count ud kan jeg også se at denne stiger.

MEN.... Jeg får ikke vist min placeholder på skærmen efter postback.. Hvad kan det skyldes?
Avatar billede nielsbrinch Nybegynder
15. juni 2004 - 16:07 #7
Måske instantierer du din PlaceHolde indenfor en

if (!IsPostBack)
{

}
Avatar billede anhansen Nybegynder
16. juni 2004 - 09:43 #8
Jeg lukker lige den her tråd og opretter en ny.. Håber det er i orden..
Jeg kan ikke få det til at virke, så prøver lige med et lidt andet spørgsmål.. :-)
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