Quando e come inizializzare ViewState?
Domanda
Sto cercando di utilizzare ViewState per archiviare una raccolta, ma mi viene sempre visualizzato l'errore: Il riferimento non impostato su un'istanza di un oggetto. Non so quando inizializzarlo e dove? A volte uso:
if(ViewState["X"]==null) ViewState["X"] = new List<Checkitem>();
e l'ho messo all'evento Page_Init (), ma continua a inizializzarlo ogni volta in una nuova istanza !!
Quando provo a scriverlo come:
if (!IsPostBack)
ViewState["keywords"] = new List<Checkitem>();
Non è inizializzato in seguito e mostra l'errore sopra menzionato !!
Soluzione
ViewState.Add("key", "value"); //adding value in viewstate
String abc = ViewState["key"].ToString(); //getting value from viewstate
Altri suggerimenti
Vedi questo post e la mia risposta, ti suggerisco di leggere sul ciclo di vita della pagina ASP.NET (l'immagine inclusa nel post di riferimento dovrebbe fornire alcuni indizi su dove è disponibile ViewState:
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow