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);
}
}
}
よろしく、 ガウラフ