bgu*_*ler 7 c# radio-button asp.net-mvc-4
我像这样使用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)
Run Code Online (Sandbox Code Playgroud)
但是这个无线电按钮被"检查"了.我怎么能禁用它?
你确定要一个单选按钮吗?好像你可能在Checkbox之后......
对于布尔值,我会设置2个radiobuttons,如下所示:
@Html.RadioButtonFor(m => m.Content, true, new { @id = "rb1" })
@Html.RadioButtonFor(m => m.Content, false, new { @id = "rb2" })
Run Code Online (Sandbox Code Playgroud)
html帮助器将找出要检查的那个.如果Model.Content是另一种类型,则对radiobuttons使用不同的值,MVC仍将确定要检查哪一个.
编辑:
实际上,它甚至更简单.如果您使用Html帮助器RadioButtonFor方法,它将检查radiobutton是否找到与Model属性匹配的值.因此,您已将RadioButton指定为始终具有与Model属性相同的值,因此将始终检查它(这将是将在表单中回发的值)
所以,如果你想要一个bool默认为false,并且只有在检查时才返回true,你可以这样做:
@Html.RadioButtonFor(m => m.Content, true, new { @id = "rb1" })
Run Code Online (Sandbox Code Playgroud)
其中Content最初设置为false.
您也可以使用其他值类型.例如,如果Content是一个字符串,最初设置为null,"RadioButtonChecked"只有在选中单选按钮时才会回发.否则为空:
@Html.RadioButtonFor(m => m.Content, "RadioButtonChecked", new { @id = "rb1" })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4045 次 |
| 最近记录: |