日期:2014-05-18  浏览次数:20621 次

foreach嵌套问题
foreach(ListItem   lii   in   cblMenu.Items)//第一个CheckBoxList
{
  if(lii.Selected==true)//第一个CheckBoxList的选中
  {
      foreach(ListItem   liregion   in   cblRegion.Items)//第二个CheckBoxList
      {
            if(liregion.Selected==true)//第二个CheckBoxList选中
            {
                add(liregion.Value,lii.Value);//插入到数据库
}}}}}

现在问题就是:不管第一个CheckBoxList选择多少项
插入的数据都是这样
(第一个CheckBoxList选择的第一项,lii.Value)

就是说第一个foreach没有起到作用。

------解决方案--------------------
换个for试试,还有不需要这样写if(lii.Selected==true){}
这样写就行了if(lii.Selected){}
------解决方案--------------------
看一下你的程序,是这样的吧:A表第CheckBoxList1,B表示CheckBoxList2
那么是
A1*B1---> 数据库。
A1*B2---> 数据库。
A1*B3---> 数据库。
...
A2*B1---> 数据库。
A2*B2---> 数据库。
....
是这样的吗?

那么你要的结果是这样的吗?

我的e-mail:bdbox@163.com,欢迎与我交流。
------解决方案--------------------
试试看不要在选择时就postback,而是点击“保存”按钮后触发此事件。

我的e-mail:bdbox@163.com,欢迎与我交流。
------解决方案--------------------
=我来调试一下。
------解决方案--------------------
foreach(ListItem lii in cblMenu.Items)//第一个CheckBoxList
{
if(lii.Selected)//第一个CheckBoxList的选中
{
foreach(ListItem liregion in cblRegion.Items)//第二个CheckBoxList
{
if(liregion.Selected)//第二个CheckBoxList选中
{
add(liregion.Value,lii.Value);//插入到数据库
}}}}}