用于在多个复选框上循环

本文关键字:循环 复选框 用于 | 更新日期: 2023-09-27 18:29:40

我有名为CheckBox1、CheckBox3、CheckBox5、CheckBox7、CheckBox9、CheckBox11的复选框。我想遍历这些复选框,并想禁用它们。我写过这样的

for (int i=1; i < 12; i++)
{              
    ((CheckBox)(i.ToString())).Enabled = false;
    i=i+2;
}

但这不是正确的方式。请帮助

用于在多个复选框上循环

如果您有Checkbox1、Checkbox3等控件的id,请尝试像这样使用FindControl

for (int i = 1; i < 12; i+=2)
{
  CheckBox cb = (CheckBox)Page.FindControl("Checkbox" + i);
  cb.Enabled = false;
}

您的代码想为id末尾有奇数的复选框设置enabled=false吗?然后这将做

foreach (Control ctrl in Page.Controls)
{
   if (ctrl is CheckBox && ctrl.id.length > 9)
   {
      int chkboxNumber = int.Parse(ctrl.id.SubStr(9));
      if ( chkboxNumber % 2 == 1) // Check for odd numbers
      {
          (CheckBox)ctrl.Enabled = false; 
      }
   }
}

希望这对您有所帮助。

foreach (Control c in Page.Controls)
{
   if (c is CheckBox)
   {
      CheckBox myCheckBox = (CheckBox)c;
      myCheckBox.Enabled = false;
   }
}

这将禁用您所有的复选框。编辑:很抱歉在i没有看到+2。我的错。