使用一个布尔ASP管理两个CheckBoxes

时间:2018-04-04 09:23:35

标签: c# asp.net checkbox webforms boolean

我想设置一个带两个复选框的布尔值:一个与另一个相反。

在我看来ASPX中,我想将我的第二个复选框绑定到OPPOSITE' isLocal' (来自数据库表,之间没有模型):

<td align="left">
    <asp:CheckBox ID="CheckIsLocal" runat="server" DataValueField="isLocal" AutoPostBack="true"/>
</td>
<td align="left">
    <asp:CheckBox ID="CheckIsPan" runat="server" DataValueField="isLocal" AutoPostBack="true" />
</td>

在我的代码后面,我触发了两者的检查事件,我尝试(失败)触发另一个更改其值。

this.CheckIsLocal.CheckedChanged += new EventHandler(this.Oncheckedchanged);
this.CheckIsPan.CheckedChanged += new EventHandler(this.OncheckedPanchanged);

private void Oncheckedchanged(object sender, System.EventArgs e)
{
    CheckBox CheckLocal = (CheckBox)sender;
    CheckLocal.Checked = CheckLocal.Checked ? true : false;
    this.CheckIsPan.CheckedChanged += new EventHandler(this.OncheckedPanchanged);
}

private void OncheckedPanchanged(object sender, System.EventArgs e)
{
    CheckBox CheckPan = (CheckBox)sender;
    CheckPan.Checked = CheckPan.Checked ? true : false;
    this.CheckIsLocal.CheckedChanged += new EventHandler(this.Oncheckedchanged);
}

我有两个用于UI目的的复选框,我想到了一个ToggleButton,但我不知道如何在没有外部工具的情况下实现它。

如何用我的一个布尔值设置我的两个复选框?

1 个答案:

答案 0 :(得分:0)

事实证明,就我的目的而言,我并不需要使用RadioButtonList的任何事件。

在我看来ASPX:

<asp:RadioButtonList ID="radCheckIsLocal" runat="server">
    <asp:ListItem Text="Local" Value="True" />
    <asp:ListItem Text="Pan" Value="False" />
</asp:RadioButtonList> 

在我的代码后面,我不需要任何事件,我只需要检索我的数据字符串并将其保存为bool:

object.isLocal = radCheckIsLocal.SelectedValue == "True" ? true : false;