我有两个复选框,分别为true和false。只允许用户选择一个,当选择一个时,另一个被取消选择,反之亦然。我有一个改变事件,这样做,但如果我选择一个,所以另一个取消选择,然后按浏览器后退按钮,他们都显示为选中?!我提出了一个方法来检查这个事件,但是当它们都出现在前端的select时,后端的逻辑是看到一个未被选中的?这有意义吗?
我的复选框:
<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;
}
}
答案 0 :(得分:1)
<asp:RadioButtonList ID="MyRadioButtons" runat="server">
<asp:ListItem Value="Y">Yes</asp:ListItem>
<asp:ListItem Value="N">No</asp:ListItem>
</asp:RadioButtonList>
以下是处理所选项目的代码示例: http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_radiobuttonlist