当用户选择radioButton时,IsSelected
属性在回发时仍为false
,为什么?
查看
@using (Html.BeginForm())
{
<fieldset>
<legend>UserChoice</legend>
@Html.DisplayNameFor(model => model.IsSelected)
@Html.TextBoxFor(model => model.FirstName)
@Html.RadioButtonFor(uc => uc.IsSelected, false)
<input type="submit" name="name" value="Submit Form" />
</fieldset>
}
控制器
答案 0 :(得分:1)
如果您有不同类型的选项,可以使用以下
实现这个的一个非常简单的方法就是这样
@Html.RadioButtonFor(modelItem =>item.SelectedOption, "Option1")
@Html.RadioButtonFor(modelItem =>item.SelectedOption, "Option2")
@Html.RadioButtonFor(modelItem =>item.SelectedOption, "Option3")
或者您也可以使用,
@Html.RadioButtonFor(modelItem =>item.SelectedOption, item.Option1)
@Html.RadioButtonFor(modelItem =>item.SelectedOption, item.Option2)
@Html.RadioButtonFor(modelItem =>item.SelectedOption, item.Option3)
如果您只是希望isSelected
true
或false
使用此功能。
@Html.RadioButtonFor(uc => uc.IsSelected, true)
答案 1 :(得分:0)
不确定是否是您的问题,但如果检查的比您预期的错误,请尝试makink值true
@Html.RadioButtonFor(uc => uc.IsSelected, true)
答案 2 :(得分:0)
The overload that you are using将radio
输入元素的值绑定到提供的值 - 因此您生成如下标记:
<input type="radio" name="isSelected" value="false">
当它被提交回您的控制器时,.NET将value
反序列化为boolean
- 在这种情况下,false
。
要解决此问题,请使用true
作为第二个参数:
@Html.RadioButtonFor(uc => uc.IsSelected, true)
答案 3 :(得分:0)
试试这个,
@Html.RadioButtonFor(uc => uc.IsSelected, true)
或
@Html.RadioButton("IsSelected", true)