c# – 自动检查RadioButton

前端之家收集整理的这篇文章主要介绍了c# – 自动检查RadioButton前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我像这样使用RadioButtonFor
@Html.RadioButtonFor(m => m.Content,Model.Content,new { @name = "rb",@class = "answer-radio",@id = "answer-" + Model.Counter,@checked = "false" })
    @Html.Label(Model.Content,new { @for = "answer-" + Model.Counter })
    @Html.HiddenFor(m => m.Content)

但这个无线电按钮被“检查”了.我怎么能禁用它?

解决方法

你确定要一个单选按钮吗?好像你可能在CheckBox之后……

对于布尔值,我会像这样设置2个radiobuttons:

@Html.RadioButtonFor(m => m.Content,true,new { @id = "rb1" })
@Html.RadioButtonFor(m => m.Content,false,new { @id = "rb2" })

html帮助器将找出要检查的那个.如果Model.Content属于另一种类型,则对radiobuttons使用不同的值,MVC仍然会找出要检查的值.

编辑:

实际上,它甚至更简单.如果您使用Html帮助程序RadioButtonFor方法,它将检查radiobutton是否找到与Model属性匹配的值.因此,您已将RadioButton指定为始终具有与Model属性相同的值,因此将始终检查它(这将是将在表单中回发的值)

所以,如果你想要一个bool默认为false,并且只有在检查时才返回true,你可以这样做:

@Html.RadioButtonFor(m => m.Content,new { @id = "rb1" })

其中Content最初设置为false.

您也可以使用其他值类型.例如如果Content是一个字符串,最初设置为null,这将仅在选中单选按钮时回发“RadioButtonChecked”.否则为空:

@Html.RadioButtonFor(m => m.Content,"RadioButtonChecked",new { @id = "rb1" })

猜你在找的C#相关文章