如何在复选框之间切换。如果选中checkbox1。取消选中复选框2

时间:2013-08-27 15:33:30

标签: c# asp.net

我有一个Survey样式的网页,其中包含一系列复选框“是/否”,最后带有“提交”按钮。我想在选择box1时取消选中box2。

    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {

        if (CheckBox1.Checked == true)
        {
          CheckBox2.Enable = false;
        }
    }

    public void Submit_Click(object sender, EventArgs e)
    {

    //Question1 - Checkbox1

        if (CheckBox1.Checked == true)
        {

            SqlConnection con = new SqlConnection("");
            String sql = "UPDATE INQUIRY2 set Question1 = @str WHERE email = @email AND base = @base;";
            ...
        }

1 个答案:

答案 0 :(得分:2)

这里有几点需要注意......

  • 在ASP.NET环境中,Checkbox的CheckChanged事件在回发完成之前不会触发;
  • 其次,您可能希望使用RadioButtonList来管理此行为(尽管不一定)。

在第一个实例中,也就是说,在复选框状态发生更改后,您不能指望事件立即触发,只有在提交表单后,才能自动使用AutoPostBack或手动使用{ {1}}。

在第二种情况下,如果这些项目在一个组中被分类在一起,则单选按钮将非常有用,但如果它们只是在另外没有相关的表单上的互斥值,则不是真的。我们或许可以告诉您是否已经给出了控件有意义的名称,唉。

无论如何,还有其他几件事。您不需要在条件中明确声明可比较的布尔值 - 假设该属性的名称相当适当,它告诉Button是什么。另外,if (CheckBox.Checked) { }是一次性的东西,从你的例子中不清楚你是否正确关闭或处理了实例,所以我会检查你是否这样做。