你确定你想要一个单选按钮吗?好像你可能是在一个复选框之后......
对于布尔值,我会像这样设置 2 个单选按钮:
@Html.RadioButtonFor(m => m.Content, true, new { @id = "rb1" })
@Html.RadioButtonFor(m => m.Content, false, new { @id = "rb2" })
html 帮助器将确定要检查哪一个。如果Model.Content
是另一种类型,请为单选按钮使用不同的值,MVC 仍会找出要检查的值。
编辑:
实际上,它甚至比这更简单。如果您使用 Html 辅助RadioButtonFor
方法,它将检查单选按钮是否找到与 Model 属性匹配的值。因此,您已将 RadioButton 指定为始终与您的 Model 属性具有相同的值,因此将始终对其进行检查(这就是将在表单中发回的值)
因此,如果您希望 bool 默认为 false,并且仅在选中时返回 true,您可以这样做:
@Html.RadioButtonFor(m => m.Content, true, new { @id = "rb1" })
whereContent
最初设置为 false。
您也可以使用其他值类型来执行此操作。例如,如果 Content 是一个字符串,最初设置为 null,则"RadioButtonChecked"
只有在选中单选按钮时才会回发。否则为空:
@Html.RadioButtonFor(m => m.Content, "RadioButtonChecked", new { @id = "rb1" })