单选按钮组名称在编辑器中无法使用回发

时间:2013-11-28 19:15:21

标签: asp.net asp.net-mvc-3 c#-4.0 razor radiobuttonlist

我有一个要在屏幕上显示的对象列表,我正在使用“EditorFor”。 但是在这个对象中我有一个radiobutton,用户可以选择,然后点击提交按钮进行回发。

用户只能选择一个项目,所以我在列表中定义了名称属性,如

 @Html.RadioButtonFor(m => m.Matched, true, new { Name = "name1" }) 

但是现在当表单回发时,我看不到任何单选按钮被选中。视图模型的匹配属性为null。

请一些人帮忙。

由于

2 个答案:

答案 0 :(得分:1)

您传递的name属性与要绑定的属性名称不匹配。所以它不会绑定。你可能只是想要这个:

@Html.RadioButtonFor(m => m.Matched, true)
@Html.RadioButtonFor(m => m.Matched, false)

这会给你两个单选按钮;一个用于Matched = true,一个用于Matched = false

在渲染标记中,两个单选按钮已经具有相同的名称属性,因为它们绑定到同一个字段,这意味着一次只能选择一个。

答案 1 :(得分:0)

我是通过使用Jquery完成的。我在视图模型中创建了另一个字段,并根据所选的单选按钮在Jquery中填充了该值。

$(document).ready(function () {
    $("input:radio[name=name1]").click(function (e) {       
    $("#SelectedSuppliedID").val(e.target.id);       
});

});

  @Html.RadioButtonFor(m => m.Matched, true, new { Name = "name1", id="Matched-"+Model.Id })