我必须从表格列中选中复选框。我这样做是为了达到要求的结果,但无法找到确切的解决方案并在http post中返回null值。
public ActionResult Index()
{
return View(db.Users.ToList());
}
[HttpPost]
public ActionResult Index( List<User> user)
{
return View(db.Users.ToList());
}
查看
@model IEnumerable<EntityframeworkDemo.User>
@using (Html.BeginForm())
{
<table class="table">
@foreach (var item in Model) {
<tr>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
<td>@Html.DisplayFor(modelItem => item.Phone)</td>
<td>@Html.DisplayFor(modelItem => item.Email)</td>
<td>@Html.DisplayFor(modelItem => item.C_Password)</td>
<td>@Html.CheckBoxFor(modelItem => item.Validations.Value)</td>
</tr> }
</table>
<input type="submit" value="Post" />
}
模特课程:
Class User
{
public int U_id { get; set; }
public string Name { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public string C_Password { get; set; }
public bool? Validations { get; set; }
}
答案 0 :(得分:0)
我建议你在Data Tier上处理Nullable boolean,当涉及到ViewModel时,使它成为常规布尔值,那么你的代码应该可以工作
public bool Validations {get;组;而不是
公共布尔?验证{get;组; }和
@ Html.CheckBoxFor(modelItem =&gt; item.Validations)
而不是
@ Html.CheckBoxFor(modelItem =&gt; item.Validations.Value)
在数据层上检查您的行是否返回null并在
时将其设为false