26. september 2005 - 09:59Der er
5 kommentarer og 1 løsning
textBox.Visible = false, uden at glemme teksten!
Jeg har en temmelig lang formular (spørgeskema) som jeg ønsker at dele over i flere sider. Sådan som applikationen er bygget i dag ville det være klart det letteste, om jeg blot kunne skjule de controls der ikke er på den aktive side. Altså løbe igennem en ControlCollection og sætte Visible = (index == ActivePageIndex)
Men øv. Når man sætter Visible = false på fx en TextBox, forsvinder dens viewstate!? I hvert fald er feltet tomt når jeg vender tilbage til siden... :(
Findes der en anden variant en Visible = false, som udelukkende standser renderingen af kontrollen, uden at dræbe dennes viewstate?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Jeg går ud fra at du ville skrive: textboxobj.Style.Attributes.Add("display","none");
Tillader mig at afvise svaret, selvom jeg måske ikke fik udtrykt mig klart nok i mit spørgsmål. Jeg ønsker naturligvis at skjule kontrollen serverside, således at den slet ikke renderes til HTML.
JUHUU! Jeg fik det til at virke nu. Delvis forklaring:
Den metode som skjuler/viser mine undersider, kaldte jeg i et override til Render() inden selve renderingen. Det var åbentbart ikke så smart, så nu har jeg flyttet metodekaldet til PreRender - og vupti!
snepnet > Smid et svar. Det var din kommentar ("Men bortset fra det...") der fik mig til, at skille det hele ad og finde kilden til problemet.
alletiders - godt at det ruller :o) held og lykke med resten. mvh
Synes godt om
Ny brugerNybegynder
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.