Mantenere lo stato di visualizzazione di una pagina
LukePet non è online. Ultima attività: 27/06/2008 12.16.51LukePet
Inserito il: 13 maggio 2008 11.24
12 messaggi dal 16 apr 2008 Istalla Microsoft Silverlight!
Ho una pagina aspx in cui sono presenti delle combobox ed un'area di visualizzazione. In base ai parametri settati sulle combo vengono visualizzati differenti articoli nell'area di visualizzazione (attraverso chiamate AJAX).

Se io entro in una pagina relativa ad un articolo e poi, dopo aver eseguito una specifica operazione, torno alla pagina iniziale perdo la visualizzazione degli articoli che avevo precedentemente (le combobox risultano azzerate e l'area di visualizzazione è vuota).

A questo punto vorrei un dritta su come mantenere lo stato di visualizzazione della pagina. E' possibile memorizzare lo stato delle combo ed il relativo risultato di visualizzazione?...non so, magari utilizzando delle variabili di sessione o la cache.

Come è possibile risolvere questo inconveniente? Quale è il metodo migliore?
RE: Mantenere lo stato di visualizzazione di una pagina
chianco non è online. Ultima attività: 14/07/2008 18.11.36chianco
Inserito il: 13 maggio 2008 11.28
51 messaggi dal 17 set 2001 Istalla Microsoft Silverlight!
Come hai ipotizzato, puoi risolvere il problema memorizzando lo stato delle tendine in sessione al momento della selezione e recuperandone il valore memorizzato al load della pagina

Saluti Chianco
RE: Mantenere lo stato di visualizzazione di una pagina
LukePet non è online. Ultima attività: 27/06/2008 12.16.51LukePet
Inserito il: 14 maggio 2008 09.00
12 messaggi dal 16 apr 2008 Istalla Microsoft Silverlight!
OK, solo una cosa...

ma devo prevedere una istruzione di sessione per ogni combo box? oppure esiste un modo per registrare lo stato dell'intera pagina?
RE: Mantenere lo stato di visualizzazione di una pagina
LukePet non è online. Ultima attività: 27/06/2008 12.16.51LukePet
Inserito il: 14 maggio 2008 11.43
12 messaggi dal 16 apr 2008 Istalla Microsoft Silverlight!
Mi sono reso conto che forse c'è un problema.

Nel codebehind della pagina associato all'evento Page_Load c'è una parte di codice che si occupa di inizializzare le combobox. In pratica nei menu a tendina vengono caricati specifici valori a seconda dell'utente che sta visualizzando la pagina.

Questa routine in pratica resetta le combo box ad ogni caricamento della pagina.

Una situazione di questo tipo può creare problemi a livello di gestione dello stato? Come è opportuno agire?

Io avevo intenzione di sfruttare il caching ma non so se sia la soluzione più adatta.
RE: Mantenere lo stato di visualizzazione di una pagina
chianco non è online. Ultima attività: 14/07/2008 18.11.36chianco
Inserito il: 14 maggio 2008 12.16
51 messaggi dal 17 set 2001 Istalla Microsoft Silverlight!
Hai bisogno di memorizzare "da qualche parte" la selezione delle tendine in maniera che al cambio di pagina questa memorizzazione non venga persa. Sicuramente la soluzione migliore è salvare la selezione delle tendine in sessione, dovre tra l'altro dovresti aver memorizzato l'utente che visualizza la pagina.

Saluti Chianco
RE: Mantenere lo stato di visualizzazione di una pagina
LukePet non è online. Ultima attività: 27/06/2008 12.16.51LukePet
Inserito il: 15 maggio 2008 11.27
12 messaggi dal 16 apr 2008 Istalla Microsoft Silverlight!
Sto seguendo la strada indicata.

In pratica ho inserito delle istruzioni nell'evento Page_Unload della mia pagina; queste istruzioni hanno il compito di memorizzare nelle variabili di sessione i valori delle selezioni nelle combobox.

Sostanzialmente si tratta di una serie di istruzioni del tipo:

Session("S_codChiave1") = Me.ddlTabella1.SelectedValue

all'atto del ricaricamento della pagina il programma ha il compito di ripescare i valori delle combo per ripristinare lo stato.

Bene, ora però ho un problemino.

Sembra infatti che l'istruzioni Me.ddlTabella1.SelectedValue non becchi alcun tipo di valore...e la cosa è alquanto strana visto che analizzando il codice html si vede che ad ogni voce del menu è associato uno specifico valore. In pratica se io dalla tendina seleziono una voce e poi vado su un'altra pagina l'istruzione Me.ddlTabella1.SelectedValue, richiamata attraverso il metodo Page_Unload, non riesce a riconoscere il valore del campo selezionato.

Come mai? Avete qualche idea?

Può essere che tutto ciò sia dovuto al fatto che i campi delle combobox siano caricati dinamicamente in modalità AJAX???

Vai a:

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.


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums