我有名为 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
. 我的错。