【发布时间】:2012-12-19 14:10:58
【问题描述】:
这是我用单选按钮和复选框绑定的 ViewModel 类
public class MyListViewModel
{
public bool Isselected { get; set; }
public Int32 ID { get; set; }
public string EmpName { get; set; }
}
问题: 对于控制器类中的复选框,如果选择,我可以看到绑定模型的 IsSelected 属性为真。但在单选按钮的情况下,它总是显示为假。任何帮助表示赞赏
复选框
剃刀代码
@Html.CheckBox(myListObj.Isselected.ToString(), myListObj.Isselected,
new { id = myListObj.Isselected.ToString() })
生成的 HTML
<input type="checkbox" value="true" name="myListObj[0].Isselected" id="22">
<input type="hidden" value="false" name="myListObj[0].Isselected">
单选按钮
剃须刀:
@Html.RadioButton(myListObj.Isselected.ToString(), myListObj.ID,
myListObj.Isselected, new { id = myListObj.Isselected.ToString() })
HTML:
<input type="radio" value="6"
name="myListObj[0].Isselected" id="myListObj[0].Isselected">
这可能是什么问题?
Edited:
What could be the code for binding a model with multiselect radio button.
I mean user can select more than one Employee from a list.
I want to know what are the employees selected with the help of Model Binding
class with the property IsSelected. Please suggest me the possible way.
【问题讨论】:
-
出于好奇,你为什么使用
Html.CheckBoxhelper 而不是Html.CheckBoxForhelper(收音机也是如此)? -
我尝试使用 CheckBoxFor 并查看
-
@BradChristie,我正在使用集合 IEnumarable
是我视图的模型属性。我正在遍历每个并构建。那么在这种情况下,我该如何使用 CheckBoxFor?有可能吗? -
@for (Int32 i = 0; i < Model.Count(); i++) { @html.CheckBoxFor(x => Model[i].Isselected) }将是一种方式(保留索引)。 -
请放控制器源码