Я создал собственное поле шаблона флажка, взяв его из System.Web.UI.WebControls.TemplateField. Шаблон для этого поля был создан путем создания класса, реализующего интерфейс ITemplate. Когда на странице происходит какая-либо обратная передача, значения в флажках теряются.
Чтобы временно заставить это работать, я использовал состояние просмотра для хранения состояния флажков в столбце флажков, но, идя дальше, я хочу полностью избежать этого, поскольку я буду использовать больше полей шаблона таким же образом в своем приложении.
Пожалуйста, дайте мне знать, если я что-то упустил.
Ниже приведен код:
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);
}
}
}
С уважением, Гаурав.