Когда и как инициализировать ViewState?
Вопрос
Я пытаюсь использовать ViewState для хранения коллекции, но всегда получаю сообщение об ошибке: В экземпляре объекта не задана ссылка на объект. Я не знаю, когда его инициализировать и где? Иногда я использую:
if(ViewState["X"]==null) ViewState["X"] = new List<Checkitem>();
и я помещаю его в событие Page_Init (), но оно продолжает инициализировать его каждый раз для нового экземпляра !!
Когда я пытаюсь написать это так:
if (!IsPostBack)
ViewState["keywords"] = new List<Checkitem>();
Это не инициализировано позже и показывает ошибку, упомянутую выше !!
Решение
ViewState.Add("key", "value"); //adding value in viewstate
String abc = ViewState["key"].ToString(); //getting value from viewstate
Другие советы
Посмотрите этот пост и мой ответ на него, я предлагаю вам ознакомиться с жизненным циклом страницы ASP.NET (изображение, включенное в ссылочный пост, должно дать некоторые подсказки о том, где ViewState доступен:
SO POst р>
Не связан с StackOverflow