所以我有三个RadioButton,它们不在RadioButtonList中,因为我需要在它们旁边添加一些文本框。
我添加了一个GroupName,并且在前端它们的行为符合预期。一次只能检查一个。
但是在代码中,如果我这样做:
RadioButton1.Checked = true;
RadioButton2.Checked = true;
RadioButton3.Checked = true;
我希望只检查最后一个,RadioButton3,因为它们都属于同一个组。不是这种情况。这三个都评价为真......这怎么可能?
我必须明确地将它们设置为false ...我错过了什么?
答案 0 :(得分:1)
我认为这是正确的行为,尽管这不是你所期望的。
考虑RadioButton
只是一个CheckBox
,具有一些扩展功能,可以自动提供独占检查功能。在后台它仍然是一个复选框。查看MSDN的层次结构:
System.Object
System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.CheckBox
System.Web.UI.WebControls.RadioButton
输出包含checked="checked"
input
type="radio"
项属性<input id="rad1" type="radio" name="Test" value="rad1" checked="checked" /><label for="rad1">1</label><br />
<input id="rad2" type="radio" name="Test" value="rad2" checked="checked" /><label for="rad2">2</label><br />
<input id="rad3" type="radio" name="Test" value="rad3" checked="checked" /><label for="rad3">3</label>
的所有项目。例如:
Checked
来自Checked
属性文档:
Checked(继承自CheckBox): 获取或设置一个指示的值 是否CheckBox控件 检查。
因此CheckBox
属性就像{{1}}版本一样,没有包含任何功能来查找同一组中的其他控件并删除它们,这是有意义的,因为它是一个单一的控件。