Вопрос

Я пытаюсь использовать 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top