¿Cuándo y cómo inicializar ViewState?
Pregunta
Estoy tratando de usar ViewState para almacenar una colección, pero siempre me aparece el error: Referencia a objeto no establecida como instancia de un objeto. No sé cuándo inicializarlo y dónde? A veces uso:
if(ViewState["X"]==null) ViewState["X"] = new List<Checkitem>();
¡y lo puse en el evento Page_Init (), pero sigue inicializándolo cada vez que se crea una nueva instancia!
Cuando intento escribirlo como:
if (!IsPostBack)
ViewState["keywords"] = new List<Checkitem>();
¡No se inicializa más tarde y muestra el error mencionado anteriormente!
Solución
ViewState.Add("key", "value"); //adding value in viewstate
String abc = ViewState["key"].ToString(); //getting value from viewstate
Otros consejos
Vea esta publicación y mi respuesta, le sugiero que lea el Ciclo de vida de la página de ASP.NET (la imagen incluida en la publicación de referencia debería proporcionar algunas pistas sobre dónde está disponible ViewState:
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow