遍历页面中存在的复选框的解决办法如下:
foreach (Control ct in form1.Controls) //遍历所有控件 { if (ct.GetType().ToString().Equals("System.Web.UI.WebControls.CheckBox")) //如果遍历到的控件为复选框 { CheckBox cb = (CheckBox)ct; //遍历到的复选框 ...//执行相关操作 } }
此前做项目时用到了复选框,复选框勾选的项和不勾选的项要分别处理不同的事件,因此需要遍历复选框,判断哪些框被勾选,哪些框没有被勾选,然后分别执行相关处理操作。实例如下:
如上图,用多个复选框表示酒店客房类型的房间配置。每种配置在数据库表中都有对应的字段,字段为String类型,用于表示该配置的有无。想要实现被勾选的复选框对应的配置的字段中填入“有”,没有被勾选的复选框对应的配置的字段中填入“无”。
代码:
string[] condition = new string[5]; ;//房间配置的有无
int i = 0; //数组索引
//遍历所有控件
foreach (Control ct in form1.Controls)
{