181 messaggi dal 23 marzo 2006
Buona sera,
ho un problema da risolvere, e vorrei sapere se qualcuno di voi sa darmi qualche dritta...

nella mia webApplication ho la MasterPage, con menu per la navigazione, e un solo ContentPlaceHolder.

Sempre nella pagina master, ho una istanza di un ASCX scritto da me, che contiene un treeview popolato dinamicamente, UpdatePane, e qualche extender AJAX.

Se dal menù, l'utente richiede una pagina, questa viene correttamente caricata nel CPH. Il problema è che il mio ASCX (nella masterpage) "perde" completamente il suo stato. (ovviamente, non trattandosi di una postback).

Come posso fare per evitare che ciò accada?
Ho pensato di salvare qualcosa nella Session, ma non so "cosa" e "quando"...
se l'UserControl ha il ViewState abilitato, e lo stesso la pagina, allora caricandolo correttamente questo rispristina il proprio stato da automaticamte.
se questo non avviebe c'e un errore nel ricreare correttamente e al momento giusto la struttura dei controlli.

detto questo puoi intevenire nel processi del caricamento/salvataggio del ViewState eseguendo l'override dei metodi LoadViewState e SaveViewState,

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
181 messaggi dal 23 marzo 2006
aspetta, ma... il viewstate, non viene perduto quando il client richiede una nuova pagina? quello che dici tu, mi funziona, ma soltanto in caso di postback (sincrone o asincrone).
io avevo capito che cliccando sul TreeView carici un UserControl in in un determinato pacheholder, non è così?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
181 messaggi dal 23 marzo 2006
no no...
Nella MasterPage ho:

- Controllo ASCX

- Menu con link alle pagine content

- ContentPlaceHolder


Cliccando sui link del menù, le pagine content (aspx) vengono caricate nel CPH.

A questo punto, ovviamente, il controllo ASCX perde tutto il suo stato...
capito il fraintendimento nasce dal fatto, che in pratica cliccando sul menu , non è che carichi una pagina aspx nel ContentPlaceHolder.

il rapposto MasterPage Page è di UserContro Page, la tua MasterPage non è nientaltro che un UserControl a pari come classe da cui derica del controllo ASCX.

è per questo che non hai lo stato, stai semplicemente caricando un altra pagina.


che tipo di informazioni vuoi siamo persistite?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
181 messaggi dal 23 marzo 2006
eh, si... il problema è che io carico REALMENTE una NUOVA PAGINA.
Io vorrei persistere tutto lo userControl, così com'è...

Dentro lo userControl c'è:
un dragPanelExtender e vorrei mantenere la posizione.
un collapsiblePanelExtender e vorrei mantenere stato collapsed/expanded
un treeView e vorrei mantenere i nodi, il loro valore, e il loro stato di expanded/collapsed
domanda ma se vai ad un altra pagina, perche devi mantenere il layout esattamente come è? insomma alla fine al click del TreeView caricavi un UserControl lo stato veniva mantenuto.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.