asp.net(C#)中CheckBoxList显示选中的值 在线等
- 提问者网友:無理詩人
- 2021-02-20 15:37
- 五星知识达人网友:山有枢
- 2021-02-20 16:03
string[] strtemp = Dt.Rows[0]["id"].ToString().Split(',');
foreach (string str in strtemp)
{
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (this.CheckBoxList1.Items[i].Value == str)
{
this.CheckBoxList1.Items[i].Selected = true;
}
}
}
- 1楼网友:你哪知我潦倒为你
- 2021-02-20 16:47
方法一,大概是你要的功能。
方法二,实现了当你取消选择的时候,自动去掉label1中的相关内容
根据你的需要选吧,不过思路都是差不多的。
方法一:
for (int i=0; i<checkboxlist1.items.count; i++) { if (checkboxlist1.items[i].selected) { label1.text += checkboxlist1.items[i].text + "<br />"; } }
方法二:
private void checkboxlist1_selectedindexchanged(object sender, system.eventargs e) { string dqchk="",strdqchk="";//初始化当前选定的值 string prechk=""; //上一次选定的值 if (viewstate["strchk"]!=null) prechk=convert.tostring(viewstate["strchk"]); if (prechk!="")//不是第一次点选 { for (int i=0;i<checkboxlist1.items.count;i++)//得到当前选定值 { if (checkboxlist1.items[i].selected) strdqchk=checkboxlist1.items[i].value+","; } if (strdqchk.length>((string)viewstate["strchk"]).length)//增加选项时 { dqchk=compstr(strdqchk,(string)viewstate["strchk"]); } else//取消选项时 { dqchk=compstr((string)viewstate["strchk"],strdqchk); } viewstate["strchk"] = strdqchk; } else//第一次点选 { dqchk=checkboxlist1.selectedvalue; viewstate["strchk"] = dqchk+","; } } //比较上次选定值和当前选定值的区别得出当前选项 private string compstr(string str1,string str2) { string re=""; string[] arystr=str1.split(','); for (int i=0;i<arystr.length;i++) { if (str2.indexof(arystr[i]+",")==-1) re=arystr[i]; break; } return re; }