页面上放了两个checkbox
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" oncheckedchanged="CheckBox1_CheckedChanged"/>
<asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="True" oncheckedchanged="CheckBox2_CheckedChanged"/>
后台代码如下:
    protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
    {
        if (CheckBox2.Checked)
        {
            this.CheckBox1.Checked = false;
            this.textbox1.Visible = true;
        }
        else
        {
            this.CheckBox1.Checked = true;
            this.textbox1.Visible = false;
        }
    }
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (CheckBox1.Checked)
        {
            this.CheckBox2.Checked = false;
             this.textbox1.Visible = false;
        }
        else
        {
            this.CheckBox2.Checked = true;
            this.textbox1.Visible = true;
        }
    }
感觉没什么问题,可是我点击任何一个checkbox都没反应,这是怎么回事啊

解决方案 »

  1.   

    我测试过你的代码 没有问题
    你的前台是否还有AJAX控件?
      

  2.   

    放断点调试   看代码运行到哪儿了?你pageLoad里  有代码吧 ?  没有放到ispostback里
      

  3.   


    回楼主,选中控件,设置控件的ispostback属性为true!
      

  4.   

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.Page.IsPostBack)
            {
                this.DropDownList1.SelectedValue = DateTime.Now.Year.ToString();
                this.DropDownList2.SelectedValue = DateTime.Now.Month.ToString();
                this.tbdepart.Enabled = false;
                this.CheckBox1.Checked = true;
                this.CheckBox2.Checked = false;
                this.Panel1.Visible = false;
            }
        }
    这是我的代码,都写的蛮好,不晓得怎么就没反应
      

  5.   


     function forCheck1(cb) {
                alert(cb);
                var cb2 = document.getElementById("<%=CheckBox2.ClientID %>");
                cb2.checked = !cb.checked
            }
            function forCheck2(cb) {
                var cb1 = document.getElementById("<%=CheckBox1.ClientID %>");
               
                cb1.checked = !cb.checked
            }  <asp:CheckBox ID="CheckBox1" runat="server"  onclick="forCheck1(this);" />
    <asp:CheckBox ID="CheckBox2" runat="server"  onclick="forCheck2(this); " />js来实现试试
    这是我写的demo
      

  6.   

    我页面上TextChanged事件也触发不了,都不行,这是怎么回事呢
      

  7.   

    主要是我想知道这么做为什么没有触发,也没错,而且我页面上TextChanged事件也触发不了,很奇怪
      

  8.   


     看你TextChanged事件是怎么写的。
      

  9.   

    我的代码都贴出来了啊,上面都已经设为true了
      

  10.   


    radiobuttongroup完全可以满足需求,有能够满足需求的控件,就不要重复造轮子,影响开发效率
      

  11.   

        protected void Checkbox1_CheckedChanged(object sender, EventArgs e)
        {
            TextBox1.Text = "23";
            TextBox1.Enabled = false;
            CheckBox2.Checked =this.Checkbox1.Checked== true ? false : true;
            
        }
        protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
        {
            TextBox1.Text = "33";
            TextBox1.Enabled = false;
          this.Checkbox1.Checked = CheckBox2.Checked == true ? false : true;
        } 这样测试没错误