我的Formview里有一个CheckBoxList,被选中的选项用逗号隔开存到数据库中(1,2,5,7)。当我修改这个CheckBoxList的时候,需要对数据库中数据进行处理,以循环的形势将之前选中的选项分配到这个CheckBoxList中去。我的问题是我应该在何时处理这组数据库的数据,并分配他们到CheckBoxList中去?是在Formview的事件中处理,还是在ObjectDataSource的事件中处理?并且具体的那个事件?(databinding? databound? selecting?还是其它?)或者这个问题还有更好的解决方法?谢谢了!!

解决方案 »

  1.   

    在Formview的DataBund事件中处理:
    protected void FormView1_DataBound(object sender, EventArgs e)
    {
        CheckBoxList myC =(CheckBoxList)FormView1.FindControl("CheckBoxList1");
        Label myL = (Label)FormView1.FindControl("Label1");   //获取含(1,2,5,7)的字段
        string[] mySelectNo = myL.Text.Split(',');            //将含(1,2,5,7)放到数组
        for (int i = 0; i < mySelectNo.Length; i++)
        {
            myC.Items[Convert.ToInt16(mySelectNo[i])].Selected = true;
        }
    }
      

  2.   

    databound,全部数据绑定后执行
    databinding,绑定中执行
    建议用databound