取消选中动态填充的CheckBoxList中的所有值

时间:2012-06-19 08:20:10

标签: asp.net checkboxlist

我正在填充数据库表中的CheckBoxList。根据要求,默认情况下应取消选中所有值。即使我已编写代码来执行相同操作,但始终会检查第一个值,但我无法弄清楚原因。这是代码:

for (int i = CheckBoxList1.Items.Count - 1; i >= 0; i--)
    CheckBoxList1.Items.RemoveAt(i);
while (rd.Read())
{
    System.Web.UI.WebControls.ListItem item = new ListItem(Convert.ToString(rd["FullName"]), Convert.ToString(rd["ContactID"]));
    CheckBoxList1.Items.Add(item);
}
con.Close();
for (int i = CheckBoxList1.Items.Count - 1; i >= 0; i--)
    CheckBoxList1.Items[i].Selected = false;      

回页后,只有所有值都未选中。 非常欢迎任何帮助和建议,谢谢。

6 个答案:

答案 0 :(得分:0)

试试这个:   CheckBoxList1.Items [i] .Checked = false;

答案 1 :(得分:0)

for (int i = CheckBoxList1.Items.Count - 1; i >= 0; i--)
          CheckBoxList1.Items[i].Selected = false;

只是一个想法,但是;这循环真的有效吗?因为你的停止条件是当i大于0时。从循环开始就应该是这样。我认为你的停止条件应该是i = 0.

和bdz说的一样,请使用[]。来检查项目。

答案 2 :(得分:0)

尝试更改你的这一部分:

 for (int i = CheckBoxList1.Items.Count - 1; i >= 0; i--)
          CheckBoxList1.Items[i].Selected = false;  

到此:

 foreach(ListItem i in CheckBoxList1.Items)
 {
     i.Selected = false;
 }

答案 3 :(得分:0)

这是因为 UpdatePanel 而发生的。一旦我删除它,代码开始工作没有任何问题。

答案 4 :(得分:0)

<强> CheckBoxList1.ClearSelection()

这适用于Asp.Net Framework 4.5 我没有在其他框架上尝试过它

答案 5 :(得分:0)

foreach (int index in this.CheckedListBox1.CheckedIndices)
{
    this.CheckedListBox1.SetItemChecked(index, false);
}