ASPX里面有checkboxlist,有好多listItem,比如旅游。。上网。。其他。娱乐。
在数据库中有一字段,存了 上网|娱乐
现在怎么整能把数据库里这个字段读出来,然后和checkboxlist里的各项对比,对上了就把这项选中。
注意:数据库中的内容是用|分开的!

解决方案 »

  1.   

    string sValue = dr["字段名"].ToString();
    string sTemp  = "|" + "上网" + "|";
    ListItem li = new ListItem();
    li.Text  = "上网";
    li.Value = "上网";
    if ( sValue.IndexOf( sTemp ) > 0 )
    {
    li.Selected = true;
    }
    不过这样你要存成这样的形式:|上网|娱乐|
      

  2.   

    try:
    string sValue = dr["字段名"].ToString();string[] sArray=sValue.Split('|');  foreach(string i in sArray) 
    {
        foreach(ListItem oItem in checkboxlist.Items)
       {
         if(i.ToString()==oItem.Text)
         oItem.Selected=True;
        }}
      

  3.   

    也可以循环每一个listitem,判断listitem.value是否在字段中,如果存在就选中
      

  4.   

    类似
     foreach(ListItem MyItem in checkboxlist.Items)
       {
         if(DBCol.indexof(MyItem.value)>=0)
         MyItem.Selected=True;
        }
    DBCol为你的数据库字段值
      

  5.   

    String s = "上网|旅游|娱乐";
    String [] sp = s.Split("|");foreach(String sItem in sp)
    {
        foreach(ListItem li in CheckBox1.Items)
        {
            if (li.Text == sItem)
            {
                li.Checked = true;
            }
        }
    }
    String.Split方法,接受一个分隔符参数,将指定的字符串按照指定的分隔符来产生一个数组