模型绑定RadioButtonFor()默认选择MVC3.0?

时间:2011-09-26 21:04:30

标签: asp.net-mvc razor model-binding radiobuttonfor

您好我有一个ModelBinded View

foreach (var Model in Model)
        {
@Html.RadioButtonFor(modelItem => Model.DefaultLocation, Model.AddressID, new { @Checked = Model.DefaultLocation, id = Model.AddressID })
}

@Checked从数据库中检索为布尔值True或False。

为此Razor代码生成的HTML如下

<input checked="True" id="27" name="model.DefaultLocation" type="radio" value="27">
<input checked="False" id="28" name="Model.DefaultLocation" type="radio" value="28">

虽然它表示id =“27”,因为Checked =“true” 我的页面显示最后一个单选按钮。

我试图实现数据库的返回值表示为true,默认情况下应该选择单选按钮。

我无法弄清楚什么是错的。 任何人都可以帮我解决这个问题吗?

谢谢你的时间。

2 个答案:

答案 0 :(得分:1)

我知道这是一个旧线程,但也遇到了同样的问题。

RadioButtonFor是正确的方法,但不是

new { @Checked = Model.DefaultLocation, id = Model.AddressID }

只需使用

new { @isChecked = Model.DefaultLocation, id = Model.AddressID }

答案 1 :(得分:0)

@Html.EditorFor( modelItem => Model.DefaultLocation, 
                 Model.AddressID,
                 new { @Checked = Model.DefaultLocation, id = Model.AddressID }
               )