一个CheckBox一个CheckBoxList当选中CheckBox时,CheckBoxList里的代码选择框都打上勾这样的功能应该怎么写,谢谢各位了!

解决方案 »

  1.   

    首先CheckBox的AutoPostBack=true
    下面是代码:private void CheckBox_CheckedChanged(object sender, System.EventArgs e)
    {
    for(int i=0;i<this.CheckBoxList.Items.Count;i++)
    {
    this.CheckBoxList.Items[i].Selected =this.CheckBox.Checked;
    }
    }
      

  2.   

    下面是通过客户端实现的
    对CheckBox服务器端注册客户端事件如下:
    CheckBox.Attributes.Add("onclick","javascript:check();return false;");JS:
    <script language=javascript>
    function check()
    {
    var CheckBoxList=document.all.CheckBoxList;
    var CheckBox=document.all.CheckBox;
    for(i=0;i<CheckBoxList.rows.length;i++)
    {
    CheckBoxList.rows[i].cells[0].firstChild.checked=CheckBox.checked;
    }
    }
    </script>
      

  3.   

    private void CheckBox_CheckedChanged(object sender, System.EventArgs e)
    {    foreach (ListItem  listItem in CheckBoxList.Items)
        {
    listItem.Checked = CheckBox.Checked;
        }
    }
      

  4.   

    最主要原因是CheckBox和CheckBoxList都是动态生成的(对数可能有好几对),这样触发事件怎么做好
      

  5.   

    由于CheckBox是动态生成的
    所以要想触发事件需要在page_load中重新注册下面事件if(this.Page.FindControl("CheckBox")!=null)
      this.CheckBox.CheckedChanged += new System.EventHandler(this.CheckBox_CheckedChanged);