在ASP.NET中选中一个复选框时,如何防止检查其他复选框

时间:2014-10-28 09:45:05

标签: c# asp.net

我的项目是使用两个复选框。当选中一个复选框时,无法检查其他复选框。不久,我不想同时使用两个复选框。

这是.aspx代码:     

<td ><asp:CheckBox runat="server" ID="ChckLctn" Text="Lokasyon" AutoPostBack="true" OnCheckedChanged="ChckLctn_CheckedChanged" OnClientClick="showPopup()" /></td>

这是.cs代码:

protected void ChckLctn_CheckedChanged(object sender, EventArgs e)
    {
        if (ChckLctn.Checked == true && ChckBrm.Checked == false)
        {
            LokasyonDoldur();
        }
    }

    protected void ChckBrm_CheckedChanged(object sender, EventArgs e)
    {
        if (ChckLctn.Checked == false && ChckBrm.Checked == true)
        {
            BirimleriDoldur();
        }
    }

我该怎么办呢。

3 个答案:

答案 0 :(得分:4)

使用RadioButtons代替CheckBoxes,这就是他们的目的。您可以使用GroupName指定哪些单选按钮属于一起。

<asp:RadioButton id="Radio1" GroupName="RegularMenu"
         Text="Beef" BackColor="Pink" runat="server"/>

    <br />
    <asp:RadioButton id="Radio2" GroupName="RegularMenu"
         Text="Pork" BackColor="Pink" runat="server"/>

    <br />
    <asp:RadioButton id="Radio3" GroupName="RegularMenu"
         Text="Fish" BackColor="Pink" runat="server"/>

答案 1 :(得分:0)

您也可以使用Javascript as,

执行此操作

这是您的复选框,

Male<input type="checkbox" name="Gender" value="Male"/>
Female<input type="checkbox" name="Gender" value="Female"/>

这是您的Javascript代码::

 $("input:checkbox").click(function(){
      $("input:checkbox").not($(this)).removeAttr("checked");
      $(this).attr("checked", $(this).attr("checked"));    
    });

为了更好地参考,请查看此JS fiddle link

答案 2 :(得分:0)

尝试使用复选框列表。请在下面使用javascript

var objChkd;
function HandleOnCheck()

{
var chkLst = document.getElementById('CheckBoxList1');


if(objChkd && objChkd.checked)

objChkd.checked=false;
objChkd = event.srcElement;

}

然后将其取消以控制

 CheckBoxList1.Attributes.Add("onclick","return HandleOnCheck()");