if (!IsPostBack)
        {
            if (chb.Checked)
            {
                btreg.Enabled = true;
            }
            else
            {
                btreg.Enabled = false;
            }
        }chb  是checkbox 的ID   btred是button的ID  
我想要的结果是  选中 checkbox 后 button为可用状态 不选中就为不可用状态啊 
可是我这代码就是不行啊(两个控件都是服务器控件,不是html控件)

解决方案 »

  1.   

    设置checkbox的AutoPostBack为true没有?
      

  2.   

    1.要设置CheckBox的AutoPostBack为true,这样当Checked属性变了时才会回发服务器,还有这样的话你要在后台.cs文件中控制.用   btreg.Enabled=true;
    2.如果你的CheckBox本来就是选中或不选中的.也就是说是固定的话,上面代码应该可以,如果不行,你用
    btreg.disabled=false;
    btreg.disabled=true;试试.
      

  3.   

    如果想在页面获取效果
    需要将 CheckBox 控件的 AutoPostBack 属性设置为 true否则,请使用客户端技术(推荐是用),下面的代码可供查考<input type="checkbox" id="chb" name="chb" />
    <asp:button id="btreg" runat="server" /><script type="text/javascript">
    var checkboxEL = document.getElementById('chb');
    var buttonEL = document.getElementById('<%=btreg.ClientID%>');checkboxEL.onclick = function() {
      buttonEL.disabled = !this.checked;
    };</script>
      

  4.   

    将CheckBox的AutoPostBack设为true,在它的Check_Changed事件中写
    btreg.Enabled = chb.Checked;
    即可
      

  5.   

    这个你要用js实现了:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="1.aspx.cs" Inherits="WebApplication1._" %><!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 runat="server">
        <title>无标题页</title>    <script type="text/javascript">
        function checkChanged()
        {
            var chb = document.getElementById("CheckBox1");
            var btn = document.getElementById("Button1");
            if(chb.checked)
                btn.disabled = "";
            else 
                btn.disabled = "disabled";
        }
        </script>   </head>
    <body>
        <asp:CheckBox ID="CheckBox1" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="Button"/>
    </form>
    </body>
    </html>
    后台:        protected void Page_Load(object sender, EventArgs e)
            {
                CheckBox1.Attributes.Add("onclick", "checkChanged();");
            }