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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Short-circuiting della Pipeline in ASP.NET Core
Implementare il throttling in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Load test di ASP.NET Core con k6
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Personalizzare l'errore del rate limiting middleware in ASP.NET Core