怎么在动态生成复选框的时候   提取数据库中记录的上次的选择   绑定复选框的已选中项   动态生成复选框实现了  但是读取上次的记录还没实现   主要是不知道调用什么语句来实现 
  for (int i = 0; i < this.CheckBoxList1.Items.Count; i++)
        {
            if (this.CheckBoxList1.Items[i].Selected == true)
            {
               string sql1= "select * from lisort where aid='" + this.CheckBoxList1.Items[i].Value + "'";
               DataSet ds = DB.dss(sql1);
               for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
               {
                   this.CheckBoxList2.Items.Add(        new ListItem(ds.Tables[0].Rows[j]["name"].ToString(), ds.Tables[0].Rows[j]["name"].ToString()));    
               }
                   save_cblJL += this.CheckBoxList1.Items[i].ToString() + ",";获取的选中值save_cblJL  保存在 shop.category中   下次加载这个复选框的时候  怎么把之前的选着一起加载

解决方案 »

  1.   

    动态添加CheckBoxList?//在每次page_load需要重新添加...状态应该会自动保存的...
      

  2.   

    试试:放在ViewState或Session里,用完记得清掉
      

  3.   

    那你在数据库新建一个列好了,如果是1,下次默认选中checkbox,0就不选中
      

  4.   

      不行   存下来的  只会是字符串  (a,b,c,d,) 
      

  5.   

     this.ckb.DataSource = ds;
                 this.ckb.DataTextField = "Mingc";
                 this.ckb.DataValueField = "id";
                 this.ckb.DataBind();
    foreach (ListItem lst in this.ckb.Items)
                             {
                                 string[] arr= dr["ID"].ToString().Trim().Split(',');
                                 for (int i = 0; i < arr.Length; i++)
                                 {
                                     if(arr[i].ToString().Equals(lst.Value))
                                      lst.Selected =true ;
                                 }
                             }