【问题标题】:Model Binding RadioButtonFor() default Select MVC3.0?模型绑定 RadioButtonFor() 默认选择 MVC3.0?
【发布时间】:2011-11-25 13:17:18
【问题描述】:

嗨,我有一个 ModelBinded 视图

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" as Checked="true" 我的页面显示最后一个单选按钮被选中。

我试图实现无论数据库返回值是否正确,默认情况下都应该选择单选按钮。

我无法弄清楚出了什么问题。 谁能帮我解决这个问题?

感谢您的宝贵时间。

【问题讨论】:

  • 如果我使用 EditorFor() 或 CheckBoxFor() 使用相同的代码而不是 RadioButtonFor() 它作为 CheckBox 工作绝对没问题。

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


【解决方案1】:

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

RadioButtonFor 是正确的方法,但不是

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

随便用

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

【讨论】:

    【解决方案2】:
    @Html.EditorFor( modelItem => Model.DefaultLocation, 
                     Model.AddressID,
                     new { @Checked = Model.DefaultLocation, id = Model.AddressID }
                   )
    

    【讨论】:

      猜你喜欢
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多