Hej, jag har EnableViewState true dels på själva kontrollen och dels på alla CheckBoxar.. menar du att jag manuellt på något sätt måste spara CheckBoxarna och deras status? Jeppz, antagligen.. men varje kontroll har ett unikt namn så det är relativt enkelt Jo, det är ju jag som bygger IDna när jag skapar CheckBoxarna så komma åt dom kan jag ju. Men hur ska hela Viewstate-grejen lösas? Finns det någon bra artikel att läsa? Hittade en som borde passa dig Tack för tipset. Om jag förstår det rätt: Tack - verkar fungera! Tyvärr blev det en del 2. Vet inte om jag har tänkt fel och det är orsaken till att nedanstående inte fungerar eller om det är någon liten sak jag glömt. Om du skapar kontrollerna via kod måste du skapa dessa en gång till för att få tillgång till objekten och dess värden (med samma namn osv). Så, testa att anropa koden som skapar ditt BookingDetails-objekt innan du försöker läsa datan När jag har arbetat med dynamiska kontroller har jag inte behövt använda viewstate som ni föreslår. Jag brukar ha en sub som bygger upp de dynamiska kontrollerna och lägger till dem i en tabell på sidan, exempelvis tbl_Dynamics_Build. I denna sub sätter jag ID-attributet för varje kontroll. Dena sub kör jag sedan varje gång sidan laddas om, d.v.s vid varje postback och givetvis även första gången en användare går in på sidan. Det verkar då som om ASP.NET själv sköter ViewStaten för kontrollerna, bara de läggs till likadant som de fanns innan postbacken.Kompositkontroll - childcontrols försvinner
jag har gjort en kompositkontroll som ritar ut lite LiteralControls och CheckBoxar. De ligger inte i en enda fin tabell, utan de är grupperade, vilket gör att jag inte har en repeater eller CheckBoxList e dyl. (Jag ska göra en kursbokningssida, där kurserna är grupperade efter kategori och där det ska finnas en CheckBox för varje kurstillfälle inom kursen.)
När jag på kompositkontrollens förälder trycker på en knapp ska den plocka ut en arraylist med dessa kurstillfällen från kompositkontrollen. Denna är tänkt att sparas genom att gå igenom alla checkade CheckBoxes och sedan skapa en lista utifrån denna information.
Problemet är att alla kontroller utom huvudkategorierna försvinner när jag trycker på knappen. Först glömde jag implementera INamingContainer, och då fanns kontrollerna kvar vid submit/postback, men problemet var då att Checked alltid var false, oavsett om jag kryssat för dom.
Jag har gjort en kompositkontroll innan, som hade en sorts "init"-fas där den stoppade i rätt värden i kontrollerna där så var lämpligt genom att leta upp dom med FindControl. Men i detta fall vet jag ju inte på förhand hur många checkboxar jag har, vad dom heter et c, så jag har lite svårt för att få en bild över hur jag ska göra.
Tacksam för alla tipsSv:Kompositkontroll - childcontrols försvinner
Sv: Kompositkontroll - childcontrols försvinner
Sv:Kompositkontroll - childcontrols försvinner
Sv: Kompositkontroll - childcontrols försvinner
http://dotnetjunkies.com/WebLog/davetrux/archive/2003/12/10/4371.aspxSv:Kompositkontroll - childcontrols försvinner
Tycker du jag bör göra en egen CheckBox-klass precis som i exemplet fast jag lägger in bool Checked som egenskapen som sparas i Viewstaten?Sv:Kompositkontroll - childcontrols försvinner
Förstår dock inte varför jag var tvungen att göra så. Man tycker ju att CheckBox borde spara Checked true eller false av sig själv i viewstaten när ViewStateEnabled är true.Sv:Kompositkontroll - childcontrols försvinner
I min sida har jag en PlaceHolder som först får kontrollen jag pratat om, CourseListing, (som skriver ut kurser och tillfällen), och sen en knapp. När man klickar på knappen så går den igenom de kurstillfällen som är ikryssade och returnerar en ArrayList med detta, och sidan använder den för att ersätta kompositkontrollen i PlaceHoldern med en ANNAN kompositkontroll, BookingDetails, som får in bokningarna, skriver ut dessa (typ "Dessa har du bokat") och sedan lite textboxar för att fylla i ens kontaktuppgifter. Sen finns det återigen en Skicka-knapp, som är tänkt att skapa ett e-mail med kurserna och kontaktuppgifterna och skicka iväg.
Mitt problem är att den sista vändan inte fungerar. När jag kallar på metoden i BookingDetails som ska skapa mailet blir det fel, för den verkar ha tappat mitt BookingDetails-objekt. Eller ja, det är inte null, men jag får inte kalla min metod som ska maila på det.
Hur har jag tänkt fel?
edit: EnableViewState är true på den andra kompositkontrollenSv: Kompositkontroll - childcontrols försvinner
Annars kan du hämta dessa i Request-objektet direkt om du känner till namnenSv: Kompositkontroll - childcontrols försvinner