いくつかの条件に従ってチェックボックスリストを動的に生成するコードがあります.チェックボックスが選択されている場合は無効になります.その後、このチェックボックスリストコントロールを更新パネルのプレースホルダーに追加します.
最初は問題は発生しませんが、条件を更新してチェック ボックス リストに追加または削除すると、一部のチェック ボックスが無効になり、選択されません。
ASPXコード
<asp:TextBox AutoPostBack="true" ID="txtCount" runat="server" OnTextChanged="txtCount_TextChanged">0</asp:TextBox>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:PlaceHolder runat="server" ID="ph"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
C# コード
protected void Page_Load(object sender, EventArgs e)
{
CheckBoxList ckb = new CheckBoxList();
int maxCount = int.Parse(txtCount.Text);
for (int i = 0; i < maxCount; i++)
{
ListItem li = new ListItem();
li.Text = "CheckBox " + i.ToString();
bool selected = (i % 2 == 0);
li.Selected = selected;
li.Enabled = !selected;
ckb.Items.Add(li);
}
ph.Controls.Add(ckb);
}
protected void txtCount_TextChanged(object sender, EventArgs e)
{
}