.net Select 只有两个复选框之一?

.net Select only one of two checkboxes?

我有两个复选框,一个是真,一个是假。用户应该只被允许 select 一个,当一个被 selected 时,另一个被 deselected ,反之亦然。我有一个执行此操作的 on change 事件,但是如果我 select 一个所以另一个 deselects 然后按浏览器后退按钮,它们都出现 selected?!我输入了一种方法来检查此事件,但是当它们都出现在前端 select 时,后端的逻辑将其中一个视为未被 select 编辑?这有意义吗?

我的复选框:

<asp:PlaceHolder runat="server" ID="phIsValidated">
            <asp:CheckBox ID="chbTrue"
                Text="True"
                runat="server"
                AutoPostBack="True"
                OnCheckedChanged="Check_Clicked" />
            <asp:CheckBox ID="chbFalse"
                Text="False"
                runat="server"
                AutoPostBack="True"
                OnCheckedChanged="Check_Clicked" />
        </asp:PlaceHolder>

我的更改事件:

   protected void Check_Clicked(Object sender, EventArgs e)
    {
        CheckBox checkBox = (CheckBox)sender;
        if (checkBox.ID=="chbTrue")
        {
            chbFalse.Checked = !chbTrue.Checked;
        }
        else
        {
            chbTrue.Checked = !chbFalse.Checked;
        }
    }
<asp:RadioButtonList ID="MyRadioButtons" runat="server">
      <asp:ListItem Value="Y">Yes</asp:ListItem>
      <asp:ListItem Value="N">No</asp:ListItem>
</asp:RadioButtonList>

下面是处理所选项目的代码示例: http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_radiobuttonlist

第 1 步:添加两个复选框。

第 2 步:向所有复选框添加 OnCheckedChanged 事件。

(如果您不知道如何添加 OnChecKedChanged 事件,您可以按照以下步骤操作。

有两种添加方式。

1st 您可以直接将它添加到您的代码中,例如

<asp:CheckBox  runat="server" ID="Try1ID" OnCheckedChanged="Try1ID_CheckedChanged"/>

2nd 您可以在 visual studio 中打开设计选项卡,然后双击要创建 OnChecKedChanged 事件的复选框。

)

第 3 步:设置 AutoPostBack = True。

( 示例:

<asp:CheckBox  runat="server" ID="Try1ID" AutoPostBack="True" OnCheckedChanged="Try1ID_CheckedChanged"/>

您可以通过复选框进行设置 属性 window。

)

第 4 步:在 OnChecKedChanged 事件

内的 .cs 文件中添加 If Else 条件

(

示例:如果您有两个名称为 Try1ID_CheckedChanged 和 Try2ID_CheckedChanged 的复选框 你的情况应该是这样的,

protected void Try1ID_CheckedChanged(object sender, EventArgs e)
                {
                    if (Try1ID.Checked)
                        {
                                Try2ID.Checked = false;
                        }
                }
    
    protected void Try2ID_CheckedChanged(object sender, EventArgs e)
                {
                    if (Try2ID.Checked)
                        {
                                Try1ID.Checked = false;
                        }
                }

)

第 5 步:按 F5 并测试程序。