Aggiungere informazioni al ViewState di ASP.NET

di Daniele Bochicchio, in ASP.NET, ViewState, System.Web.UI,

Tramite la classe System.Web.UI.StateBag, ASP.NET implementa un sistema, chiamato ViewState, che permette di mantenere, attraverso richieste consecutive della stessa pagina, lo stato dei controlli.
Questo permette, ad esempio, di non richiedere ogni volta al database i risultati di un datagrid paginato, o più semplicemente di mantenere la selezione fatta dall'utente.
Tra le possibilità offerte dal ViewState, rientra quella di salvare informazioni personalizzate. Nel nostro esempio memorizzeremo nel ViewState la nostra query SQL, in modo da recuperla facilmente in seguito da un post back della pagina stessa.

<SCRIPT LANGUAGE="VB" RUNAT="SERVER">

Sub Page_Load (sender as Object, e as EventArgs)

  if Not Page.IsPostBack then
    Dim strSQL as String = "SELECT * FROM TITLES"
    ViewState("SQL") = strSQL
    lblSQL.Text = strSQL
  else
    lblSQL.Text = "Recuperato dal ViewState: "
    lblSQL.Text += ViewState("SQL")
  end if
End Sub

</SCRIPT>
<form runat="server">
<asp:Label id="lblSQL" runat="server" />
<input type="submit">
</form>

Attenzione a non eccedere con la quantità di dati inseriti nel ViewState. Queste informazioni vengono inserite direttamente in ogni richiesta HTTP ed un numero elevato di queste informazioni può rallentare più del dovuto l'applicazione!

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi