Index.aspx
<asp:RadioButton ID="rbt1" runat="server" Text="By Customer" GroupName="summary" OnCheckedChanged="enabled_CheckedChanged" Checked="True"/>
<asp:RadioButton ID="rbt4" runat="server" Text="With Target" OnCheckedChanged="enabled_CheckedChanged" GroupName="summary"/>
Index.aspx.cs
public void enabled_CheckedChanged(object sender, EventArgs e)
{
if (rbt4.Checked == true)
{
rbt1.Checked = true;
}
else
{
rbt1.Checked = false;
}
}
代码的目的是在选中rbt1时,将检查rbt4。用户也可以在检查rbt1后检查rbt4。但是,如果选中rbt4,将自动检查rbt1。上面的代码被使用但它似乎没有工作。我错过了什么或者我的编码有错误吗?请指教。提前谢谢。
答案 0 :(得分:1)
您正在使用单选按钮并且想要选择多个,但单选按钮与相同的GroupName
互斥。您不能选择多个具有相同组的RadioButton。您可能需要使用CheckBox来选择多个,或者为特殊情况提供不同的GroupName可以解决问题,或者您可能需要组合使用单选按钮或嵌套的html复选框。
使用GroupName属性指定一组单选按钮 创建一组互斥的控件。您可以使用GroupName 当可用列表中只有一个选项时,属性 选项。设置此属性时,只有一个RadioButton 可以一次选择指定的组MSDN。
如果你想在复选框中建立一些关系,比如选择一个,那么应该选择其他一些关系,然后你可以使用客户端脚本来节省不必要的PostBack并平滑用户体验。
答案 1 :(得分:1)
两个单选按钮具有相同的GroupName
。一次只能检查其中一个。更改单选按钮的GroupName
属性以修复错误。为清楚起见,请参阅此link。还要将'AutoPostBack =“true”属性添加到单选按钮代码。
答案 2 :(得分:0)
参考此编码注意:AutoPostBack =&#34; true&#34;。删除两个单选按钮的相同组名称。
<asp:RadioButton ID="RadioButton1" runat="server" OnCheckedChanged="RadioButton1_CheckedChanged" AutoPostBack="true" />
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
RadioButton2.Checked = true;
}
答案 3 :(得分:0)
请在您的HTML代码中添加AutoPostBack="true"
<asp:RadioButton ID="rbt1" runat="server" AutoPostBack="true" Text="By Customer"GroupName="summary" OnCheckedChanged="enabled_CheckedChanged" Checked="True" />
<asp:RadioButton ID="rbt4" runat="server" AutoPostBack="true" Text="With Target" OnCheckedChanged="enabled_CheckedChanged" GroupName="summary" />