ASP.NET实现复选框CheckBox的遍历

  遍历页面中存在的复选框的解决办法如下:

   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)
 {
      //如果为复选框
       if (ct.GetType().ToString().Equals("System.Web.UI.WebControls.CheckBox"))
       {
             CheckBox cb = (CheckBox)ct;
             if (cb.Checked == true) //复选框被勾选
                    condition[i] = "有"; 
             else //复选框没有被勾选
                    condition[i] = "无"; 
             i++;
       }
}

  之后表中每种房间配置的字段值用condition数组相应索引位置的值插入即可。

你可能感兴趣的:(ASP)