CheckBoxList是比较常用的一个服务器控件,由于他是多个checkbox的集合,对选项可以实现多选功能,所以后台获取选中的值以及设置默认选中值的话就需要用到遍历。下面是实际操作例子:
/// /// 初始化CheckBoxList中哪些是选中了的 /// /// CheckBoxList /// 选中了的值串例如:“0,1,1,2,1” /// 值串中使用的分割符例如"0,1,1,2,1"中的逗号 public static string SetChecked(CheckBoxList checkList,string selval,string separator) { selval = separator + selval + separator; //例如:“0,1,1,2,1”->",0,1,1,2,1," for(int i=0; i<checkList.Items.Count; i++) { checkList.Items[i].Selected = false; string val = separator + checkList.Items[i].Value + separator; if(selval.IndexOf(val)!=-1) { checkList.Items[i].Selected = true; selval = selval.Replace(val,separator); //然后从原来的值串中删除已经选中了的 if(selval == separator) //selval的最后一项也被选中的话,此时经过Replace后,只会剩下一个分隔符 { selval += separator; //添加一个分隔符 } } } selval = selval.Substring(1,selval.Length-2); //除去前后加的分割符号 return selval; } /// /// 得到CheckBoxList中选中了的值 /// /// CheckBoxList /// 分割符号 /// public static string GetChecked(CheckBoxList checkList, string separator) { string selval = “”; for(int i=0;i<checkList.Items.Count;i++) { if(checkList.Items[i].Selected) { selval += checkList.Items[i].Value + separator; } } return selval; }
...