Mantenere lo stato di visualizzazione di una pagina

martedì 13 maggio 2008 - 10.21

lukepet Profilo | Junior Member

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?

Anonimo Profilo | Senior Member

Usa la Session:

Session["nomeVariabile"]=valore;

per rileggerla:

tipoDiDati obj=(tipoDiDati)Session["nomeVariabile"];


Team Icon - Software Engineering
------------------------------
Unicredit Global Information Services Spa
Chief Solution Architect

lukepet Profilo | Junior Member

Ma devo prevedere un istruzione per ogni variabile della pagina? non c'è un modo per salvare l'intero stato di visualizzazione?

lukepet Profilo | Junior Member

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.

lukepet Profilo | Junior Member

Sto seguendo una strada che prevede l'utilizzo delle variabili di sessione.

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???
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5