【发布时间】:2015-04-07 11:56:20
【问题描述】:
我有两个复选框,一个是真,一个是假。应该只允许用户选择一个,当一个被选中时另一个被取消选择,反之亦然。我有一个 on change 事件可以执行此操作,但是如果我选择一个,则另一个取消选择,然后按浏览器后退按钮,它们都显示为已选中?!我输入了一种方法来检查此事件,但是当它们都出现在前端选择时,后端的逻辑将其视为未选中?这有意义吗?
我的复选框:
<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;
}
}
【问题讨论】:
-
如果用户只能选择一种,为什么不使用选项/单选按钮?
-
使用 RadioButton,这是你需要的。