很纳闷,在勾选的时候能够触发CheckedChanged, 但是为什么unselect的时候不会触发CheckedChanged。
如何才能让它触发?
我的代码如下: 请各位大虾帮忙看看,,
————————————————————————————————————————————————
<%@ Page Language="C#" AutoEventWireup="True" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>CheckBox CheckedChanged Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:CheckBox ID="checkbox1" runat="server" AutoPostBack="True"
            TextAlign="Right" OnCheckedChanged="Check_Clicked" EnableViewState="True" />
    </form>
</body>
</html>
————————————————————————————————————————————————
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {        // Display the subtotal without tax when the page is first loaded.
        if (!IsPostBack)
        {
        }
    }    protected void Check_Clicked(Object sender, EventArgs e)
    {
        Response.Write("事件被触发");
    }
}
————————————————————————————————————————————————

解决方案 »

  1.   

    你把if (!IsPostBack)
      {
      }去掉试试!
      

  2.   

    加上 AutoPostBack="true"这个属性看看,不过这个控件只有选中这个事件
      

  3.   

    AutoPostBack="true"在控件的事件中。再用IF 和 ELSE 判斷控件選中或取消選中的事件
     即. if(chk.checked)
         {
          Response.Write("Hello");
         }else{
          Response.Write("World");
         }
    希望對你有幫助
      

  4.   

    AutoPostBack="true"在我的代码中已经加过了,我在OnCheckedChanged里面设置过断点,发现反选的时候还是触发不到OnCheckedChanged...可是我当我选中它的时候确能触发这个事件,,,纳闷。
    你们可以把我代码拿去试试,很简单的一个例子,是不是我代码里面还有什么没设置好?
      

  5.   

    晕 楼主你设置的是protected void Check_Clicked(Object sender, EventArgs e)
      {
      Response.Write("事件被触发");
      }
    选中的时候触发事件当然反选不触发了
      protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
            {        }
    注册这个事件
      

  6.   


    一样的啊,我在.aspx里面是绑定OnCheckedChanged="Check_Clicked",换成CheckBox1_CheckedChanged效果也一样。
    ----------------------------------------------------------------------------------
    <asp:CheckBox ID="checkbox1" runat="server" AutoPostBack="True"
      TextAlign="Right" OnCheckedChanged="Check_Clicked" EnableViewState="True" />
    ----------------------------------------------------------------------------------
      

  7.   

    奇怪,我用楼主的试验了下可以啊
     protected void Check_Clicked(Object sender, EventArgs e)
      {
      Response.Write("事件被触发");
      }这里面代码怎么写的?
                if (CheckBox1.Checked)
                {
                    this.Label1.Text = "checked";
                }
                else
                {
                    this.Label1.Text = "unchecked";
                }
      

  8.   


    这个只是个列子,设置个断点就知道它有没有运行到这个方法里面。我试过,当uncheck的时候是不会运行到这个事件的,但check的时候是会触发事件的。protected void Check_Clicked(Object sender, EventArgs e)
      {
      Response.Write("事件被触发");
      }
      

  9.   

     传说中匪夷所思的问题啊. 等待ing
      

  10.   


    <asp:Label ID="lbMessage" runat="server" />
            <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true"
                oncheckedchanged="CheckBox1_CheckedChanged" />  protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            lbMessage.Text = this.CheckBox1.Checked.ToString();
        }
      

  11.   


    你们断点试验过吗?在uncheck的时候会触发?
      

  12.   


    这个也只有在check的时候会触发,反选的时候不会触发。。只会显示True,不会显示出False
      

  13.   

    LZ 我测试的没问题
    你在后台事件里判断一下checkbox的是否选中来调试一下
      

  14.   


    我的环境是.net2.0, vs2005,,你的?
    难道是我机子的原因郁闷。