Состояние флажка потеряно после обратной передачи в пользовательском поле шаблона

Я создал настраиваемое поле шаблона флажка, выведя его из System.Web.UI.WebControls.TemplateField. Шаблон для этого поля был создан путем создания класса, который реализует интерфейс ITemplate. Когда на странице происходит обратная передача, значения в флажках теряются.

Чтобы это работало временно, я использовал viewstate для сохранения состояния флажков в столбце флажков, но в дальнейшем я хочу полностью избежать этого, так как я буду использовать больше полей шаблона таким же образом в своем приложении.

Пожалуйста, дайте мне знать, если я что-то упустил.

Ниже приведен код:

namespace MyControls
{
    public class CheckBoxTemplateField : TemplateField
    {
        public CheckBoxTemplateField()
        {
            this.HeaderTemplate = new CheckBoxTemplate();
            this.ItemTemplate = new CheckBoxTemplate();
        }
    }

    public class CheckBoxTemplate : ITemplate
    {
        public void InstantiateIn(Control container)
        {
            CheckBox chk = new CheckBox();
            container.Controls.Add(chk);
        }
    }
}

С уважением, Гаурав

1 ответ

Флажок известен с их проблемой поддержания их значения в обратной передаче

1 решение состоит в том, чтобы сохранить его значение в скрытом файле и прочитать его на сервере.

PS Это не имеет ничего общего с viewstate.input элемент управления не сохраняет их значение в viewstate (исключая текстовое поле, которое имеет событие "ontextchange")

Другие вопросы по тегам