Состояние флажка потеряно после обратной передачи в пользовательском поле шаблона
Я создал настраиваемое поле шаблона флажка, выведя его из 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")