Хранение списка в viewstate

У меня есть страница aspx, которая имеет следующее:

  • Повторитель с кнопкой linkbutton в каждой
  • Кнопка link имеет командный параметр целочисленного значения
  • Контроль пользователя

Идея состоит в том, что когда пользователь нажимает на кнопку linkbutton, значение командной строки сохраняется в Списке. Вы можете подумать, что нет проблем, но мне нужно, чтобы значение хранилось в Списке в юзерконтроле, а не на странице ASPX. Список должен быть сохранен во всех постбэках, поэтому он также должен быть сохранен в viewstate.

Итак, я создал публичное свойство в пользовательском управлении так:

public List<int> ImageString {
    get {
        if (this.ViewState["ImageString"] != null) {
            return (List<int>)(this.ViewState["ImageString"]);
        }
        return new List<int>();
    }
    set { this.ViewState["ImageString"] = value; }
}

А потом я надеялся, что со своей страницы aspx я смогу добавить строку кода для добавления значения в список так:

this.LightBoxControl.ImageString.Add(value);

Проблема, которую я получаю, заключается в том, что значение на самом деле никогда не добавляется в список. Счет всегда равен нулю.

Я уверен, что просто я неправильно настроил свойство, но я не знаю, как его исправить...

Любая помощь была бы очень признательна.

Спасибо. Al

8
задан higgsy 8 September 2011 в 09:56
поделиться