04. oktober 2007 - 23:03Der er
5 kommentarer og 1 løsning
TreeView: beholde dens tilstand side-til-side
Hvis jeg ønsker at beholde tilstanden for et TreeView over forskellige sider (så viewstate ikke kan bruges), så kan man på nettet finde en del forskellige løsninger til at løse dette.
Har du prøvet en løsning og har noget godt at sige om den ? Jeg har brugt dette til at søge i google "maintain state of treeview across pages".
Det mest kreative forslag var at tage hele kontrollen og smide den i session:)
Hvad mener du specifikt ? For man kan smide kontrollen in, eller løbe igennem nodes og gemme deres tilstand i et array og smide den i session, eller lave en hel masse anden kode osv osv.
Jeg gik her og troede den lavede det meste på klienten, men jeg får jo et collapsed/expanded event på serveren, når jeg trykker på en node, så den må da lave en postback. Dette betyder så at dens viewstate bliver postet tilbage til serveren. En nærliggende tanke kunne være at intercepte "viewstate" ved postback, eller få den på en eller anden måde (som jeg ikke ved hvad er , men det må vel være muligt at få viewstate på en kontrol) , gemme den i session, fiske den op "on the other side" :-) og gifte den med treeview'et igen. Eller hur ?
Den har faktisk en property TreeView1.ViewState, men den er protected, og jeg har ikke helt check på hvordan jeg kunne misbruge den (eller om denne route i det hele taget er værd at følge)
Nu har jeg prøve at smide hele kontrollen i session. Når jeg fikser den op igen på den næste side, så er dden selectede node stadigselected, men hele viewet er expanded over hele linjen, selv om den var collapset da jeg gemte den, så det fatter jeg ikke noget af :-(
Du tager bare pointene:) Jeg gik i seng i går og fik ikke rigtig hjulpet dig med hvordan det skulle gøres andet end, at du fik bekræftet det kunne gøres med session:)
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.