B/S网页中 我有checkebox1,checkebox2,checkbox3,checkbox4四控件怎么样实现当我checkbox1被选中时候其它控件自动不选中状态,当2-4中任何一个被选中适合checkbox1的checked属性自动为false,我在控件的checkedchange事件中设置不可以。

解决方案 »

  1.   

    javascript 中checkbox的onclick事件大概:
    document.getElementById("checkbox2"/*2-4*/).checked = ! document.getElementById("checkbox1).checked ;其它雷同
      

  2.   

    把checkbox的autopostback设为true,当点击的时侯就在提交到后台,在C#里做处理就行了!
      

  3.   

    朋友..你CheckBox的属性AutoPostBack="True"要改成这个.不知道你改了没有..
    public partial class Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox2.Checked = false;
            CheckBox3.Checked = false;
            CheckBox4.Checked = false;
        }
        protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox1.Checked = false;
        }
        protected void CheckBox3_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox1.Checked = false;
        }
        protected void CheckBox4_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox1.Checked = false;
        }
    }
      

  4.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!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>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" /><br />
            <br />
            <asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox2_CheckedChanged" /><br />
            <br />
            <asp:CheckBox ID="CheckBox3" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox3_CheckedChanged" /><br />
            <br />
            <asp:CheckBox ID="CheckBox4" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox4_CheckedChanged" />&nbsp;</div>
        </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 Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (CheckBox1.Checked)
            {
                CheckBox2.Checked = false;
                CheckBox3.Checked = false;
                CheckBox4.Checked = false;
            }
        }
        protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
        {
            if (CheckBox2.Checked)
            {
                CheckBox1.Checked = false;
            }
        }
        protected void CheckBox3_CheckedChanged(object sender, EventArgs e)
        {
            if (CheckBox3.Checked)
            {
                CheckBox1.Checked = false;
            }    }
        protected void CheckBox4_CheckedChanged(object sender, EventArgs e)
        {
            if (CheckBox4.Checked)
            {
                CheckBox1.Checked = false;
            }    }
    }
      

  5.   

    这样的小问题,在前台用Javascript实现是正道!<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><html>
    <head runat="server">
        <title>无标题页</title>
    </head>
    <script>
    function Change1(){
        document.getElementById("CheckBox2").checked=false;
        document.getElementById("CheckBox3").checked=false;
        document.getElementById("CheckBox4").checked=false;
    }
    function Change2(){
        document.getElementById("CheckBox1").checked=false;
    }
    </script>
    <body>
        <form id="form1" runat="server">
            <asp:CheckBox ID="CheckBox1" onclick="Change1()" runat="server" />
            <asp:CheckBox ID="CheckBox2" onclick="Change2()" runat="server" />
            <asp:CheckBox ID="CheckBox3" onclick="Change2()" runat="server" />
            <asp:CheckBox ID="CheckBox4" onclick="Change2()" runat="server" />
        </form>
    </body>
    </html>
      

  6.   

    1.
    客户端方法
    <script>
    function Change1(sender){
        if(sender.checked) {
        document.getElementById("CheckBox2").checked=false;
        document.getElementById("CheckBox3").checked=false;
        document.getElementById("CheckBox4").checked=false;
        }
    }
    function Change2(sender){
        if(sender.checked){
        document.getElementById("CheckBox1").checked=false;
        }
    }
    </script><asp:CheckBox ID="CheckBox1" onclick="Change1(this)" runat="server" />
            <asp:CheckBox ID="CheckBox2" onclick="Change2(this)" runat="server" />
            <asp:CheckBox ID="CheckBox3" onclick="Change2(this)" runat="server" />
            <asp:CheckBox ID="CheckBox4" onclick="Change2(this)" runat="server" />2.
    服务器端方法
    // .aspx
    <asp:checkbox id=CheckBox1 autopostback=true 
    oncheckedchanged=CheckBox1_CheckedChanged runate=server/>
    <asp:checkbox id=CheckBox2 autopostback=true oncheckedchanged=CheckBox234_CheckedChanged runate=server/>
    <asp:checkbox id=CheckBox3 autopostback=true oncheckedchanged=CheckBox234_CheckedChanged runate=server/>
    <asp:checkbox id=CheckBox4 autopostback=true oncheckedchanged=CheckBox234_CheckedChanged runate=server/>
    // .aspx.cs
     protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            if(CheckBox1.Checked) {
                CheckBox2.Checked = false;
                CheckBox3.Checked = false;
                CheckBox4.Checked = false;
            }
        }
        protected void CheckBox234_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox chk = sender as CheckBox;
            if(chk.Checked) {
                CheckBox1.Checked = false;
            }
        }
      

  7.   

    用前台就可以了
    方法如  Jialang(疯狂键盘)  所写
    逻辑不用帮忙吧