ASP.NET C#Web应用程序-复选框

本文关键字:复选框 应用程序 C#Web NET ASP | 更新日期: 2023-09-27 18:11:45

我有两个复选框,我想做的是,当我选中其中一个时,另一个应该被禁用,我总是在C#Windows应用程序中这样做,这是我第一次尝试使用ASP.NET。有没有一种方法可以在不使用组合复选框的情况下做到这一点?这是我不起作用的方法:

protected void checkplan0_CheckedChanged(object sender, EventArgs e)
{
    if (checkplan0.Checked == true)
    {
        checkplan1.Enabled = false;
    }
    if (checkplan0.Checked == false)
    {
        checkplan1.Enabled = true;
    }
}

ASP.NET C#Web应用程序-复选框

正如其他人所说,您需要使用autopostback="true",也可能值得考虑使用单选按钮,因为一次只能检查组中的一个单选按钮。

<asp:RadioButton id="radioplan0" Checked="True" GroupName="RadioPlan" runat="server" Autopostback="true" />
<asp:RadioButton id="radioplan1" Checked="False" GroupName="RadioPlan" runat="server" Autopostback="true" />

然后,不需要向代码后面添加任何内容来关闭其他选项。

您的代码似乎是正确的,正如您提到的那样,您来自windows窗体背景,我认为这就是您缺少的

<asp:CheckBox 
      ID="checkplan0" 
      runat="server" 
      AutoPostBack="true" 
      OnCheckedChanged="checkplan0_CheckedChanged" />

AutoPostBack = "true"设置为true意味着选中复选框时,将向服务器发送回发,并执行您在"检查更改"中编写的代码。

您的代码看起来不错。但作为初学者。您可能在源页面中遗漏了一些简单的东西。

=>检查您的复选框的AutoPostBack是否设置为true。如果未添加AutoPostBack="true">