在这个方法中如何让checkboxlist实现多重选中?
方法如下:
CheckBoxList cbl = (CheckBoxList)td.Controls[0];
string CheckedString=myDataTable.Rows[0][cbl.ID].ToString();
string[] CheckedItems=CheckedString.Split(',');
foreach(string i in CheckedItems)
{
foreach(ListItem eachItem in cbl.Items)
{
eachItem.Selected=false;
if(i.ToString()==eachItem.Value)
eachItem.Selected=true;
}
}
现在有这样一个问题:checkboxlist对应数据库中的字段有比如(1,3)那么在页面上的checkboxlist应该是checkboxlist.Items[1]和checkboxlist.Items[3]被选中,但是在页面上之有checkboxlist.Items[3]被选中,也就是只取数据库中字段所对应的数组字符串中的最后一个数字
请问该如何对这个方法进行改进?
[解决办法]
break 应该加到里面,减少循环次数
foreach(string i in CheckedItems)
{
foreach(ListItem eachItem in cbl.Items)
{
if(i.ToString()==eachItem.Value)
eachItem.Selected=true;
break;
}
}