如果选中另一个按钮,则自动检查按钮的webform

时间:2012-08-29 18:52:06

标签: c# asp.net checkbox webforms

我正在尝试在asp.net/c#中创建一个使用复选框的webform。我想要做的是自动选中一个框,如果另一个框被选中

例如,如果选中button2,则自动检查button1,但不自动检查button1是否被选中

尝试执行if语句来处理这个:

if(checkbox1.changed == true)
{
    checkbox2.changed == true;
} 

但这没有用。任何人都指出我正确的方向,看看如何做到这一点。

3 个答案:

答案 0 :(得分:2)

你的意思是这样的吗?

<强>的Default.aspx

<form id="form1" runat="server">
    <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" 
        oncheckedchanged="CheckBox1_CheckedChanged" Text="Box1" />
    <asp:CheckBox ID="CheckBox2" runat="server" Text="Box2" />
</form>

<强> default.aspx.cs

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    if (CheckBox1.Checked)
        CheckBox2.Checked = true;
}

如果选中复选框1,这将检查您的checkbox2。请注意AutoPostBack="True",如果更改checkbox1,会导致页面返回服务器。

无论如何,你应该考虑这种解决方案。我不知道你想要实现什么,但可能是通过javaScript在客户端上管理它的更好的解决方案。

答案 1 :(得分:1)

您可以完全使用Javascript

完成此操作
<asp:CheckBox ID="CheckBox1" runat="server" onclick="changed(this);" />
<asp:CheckBox ID="CheckBox2" runat="server" />

然后是JS函数,如果Checkbox1被选中,它将检查Checkbox2 ....

 function changed(element) {
        if (element.checked) {
            document.getElementById('<%=CheckBox2.ClientID%>').checked = element.checked;
        }

    }

答案 2 :(得分:1)

你正在做一个简单的错误。复选框的Checked属性未更改。

if( checkbox1.Checked == true)
{
   checkbox2.Checked == true;
} 

阅读MSDN

上有关CheckBox属性的更多信息