Qualche giorno fa, introducendo un mio collega all’ambiente ASP.NET mi sono ritrovato a dover fronteggiare un problema di “non poca importanza”. Uno sviluppatore che ha dimestichezza con la progettazione di applicazioni Client è abituato a non doversi preoccupare di mantenere lo stato di un oggetto o di un dato in quanto è l’applicazione stessa che in fase di esecuzione tiene traccia di queste informazioni. Nelle applicazioni web questo “paradigma” non sussiste in quanto la logica di caricamento della pagina viene rilasciata nel momento stesso in cui il lavoro di “Caricamento dei dati, modellazione e render della pagina vengono completati”.
In questo post propongo un semplicissimo esempio che ovviamente può essere ampliato notevolmente, per poter gestire variabili il cui contenuto è soggetto a cambiamento nell’utilizzo di una pagina web. Supponiamo di avere un campo (una DropDownList) di cui vogliamo salvare l’ultimo valore selezionato per fare successive analisi durante l’esecuzione del codice:
public partial class MyPage : System.Web.UI.Page
{
public string LastSelectedValue
{
get
{
string v = null;
if(ViewState["LastDefaultValue"] != null)
v = ViewState["LastDefaultValue"] as string;
return v;
}
set
{
ViewState["LastDefaultValue"] = value;
}
}
}
Per poter gestire questa occorrenza è stato utilizzato il ViewState della pagina, un oggetto gestito direttamente dal DOT.NET Framework che permette di memorizzare informazioni personali. Ovviamente attenti a non esagerare e a non abusare di questa funzionalità.
Commenti recenti