组中的Radiobutton(GroupName)都被检查

时间:2010-07-22 04:56:50

标签: asp.net radio-button

所以我有三个RadioButton,它们不在RadioButtonList中,因为我需要在它们旁边添加一些文本框。

我添加了一个GroupName,并且在前端它们的行为符合预期。一次只能检查一个。

但是在代码中,如果我这样做:

RadioButton1.Checked = true;
RadioButton2.Checked = true;
RadioButton3.Checked = true;

我希望只检查最后一个,RadioButton3,因为它们都属于同一个组。不是这种情况。这三个都评价为真......这怎么可能?

我必须明确地将它们设置为false ...我错过了什么?

1 个答案:

答案 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}}版本一样,没有包含任何功能来查找同一组中的其他控件并删除它们,这是有意义的,因为它是一个单一的控件。