我有一个要在屏幕上显示的对象列表,我正在使用“EditorFor”。 但是在这个对象中我有一个radiobutton,用户可以选择,然后点击提交按钮进行回发。
用户只能选择一个项目,所以我在列表中定义了名称属性,如
@Html.RadioButtonFor(m => m.Matched, true, new { Name = "name1" })
但是现在当表单回发时,我看不到任何单选按钮被选中。视图模型的匹配属性为null。
请一些人帮忙。
由于
答案 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 })