【发布时间】:2013-08-30 07:39:51
【问题描述】:
我有名为 CheckBox1、CheckBox3、CheckBox5、CheckBox7、CheckBox9、CheckBox11 的复选框。我想遍历这些复选框并希望禁用它们。我是这样写的
for (int i=1; i < 12; i++)
{
((CheckBox)(i.ToString())).Enabled = false;
i=i+2;
}
但这不是正确的方法。请帮忙
【问题讨论】:
-
或者,考虑使用 CheckBoxList。 stackoverflow.com/questions/3260428/…
-
由于某种原因,您不能使用 CheckBoxList,如上所述,我认为这是合适的,考虑使用以下方法获取对这些复选框的引用:
(this.FindControl("<construct your checkbox ID>") as CheckBox) -
在循环中包含
i=i+2行将导致您的循环执行:i=1, i=4, i=7, i=10。要么输入for (int i=1; i < 12; i+2),要么在循环中将其更改为i=i+1 -
@Basic 如果我错了,请纠正我,但它不会:
i=i+2在循环结束时然后i++在继续循环时?所以基本上i=i+3 -
@iabbott 抱歉,您完全正确 - 我没有意识到
i也在for()中增加,因为两者都做是不寻常的。我将删除我的 cmets 以消除混乱。道歉