CheckBoxList取值与初始化 很经典的代码
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;
}
/// <summary>
/// 得到CheckBoxList中选中了的值
/// </summary>
/// <param name="checkList">CheckBoxList</param>
/// <param name="separator">分割符号</param>
/// <returns></returns>
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;
}
protected void Button1_Click(object sender, EventArgs e)
{
string str;
str = GetChecked(this.CheckBoxList1, ",");
this.TextBox1.Text = str;
SetChecked(this.CheckBoxList2, str, ",");
}
转至http://www.cnblogs.com/shawker/archive/2009/03/17/1414795.html