我正试图找到一种方法来循环ASP占位符中“Checkbox”类型的所有控件,然后在循环中对控件执行某些操作。
问题是我无法访问控件......这是我到目前为止所拥有的......
string selections = "";
foreach (CheckBox ctrl in phProductLines.Controls.OfType<CheckBox>)
{
selections += ctrl.Text + ", ";
}
但我收到错误 - “Foreach无法对方法组进行操作”。
非常感谢任何帮助。
感谢。
答案 0 :(得分:7)
OfType
是一种方法,因此您必须添加()
:
foreach (CheckBox ctrl in phProductLines.Controls.OfType<CheckBox>())
{
// ...
}
顺便说一句,您可以使用LINQ和String.Join
来获得所需的结果:
string result = string.Join(", ", phProductLines.Controls.OfType<CheckBox>()
.Select(chk => chk.Text));
如果您只想要Checked
复选框:
string result = string.Join(", ", phProductLines.Controls.OfType<CheckBox>()
.Where(chk => chk.Checked)
.Select(chk => chk.Text));