나는보기가 IEnumerable<User>
이며, 모든 사용자에 대해 페이지 아래쪽에 저장 버튼이있는 편집기가 펌프됩니다. 나의 게시물 작업은 IEnumerable<User>
이지만 어떤 이유로이 값은 항상 null입니다.ASP.NET MVC3을 사용하여 여러 엔티티 저장
여기 (단축) 내이다
@model IEnumerable<User>
@using (Html.BeginForm("ViewUsers", "Admin", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Username)
</td>
<td>
@Html.EditorFor(modelItem => item.IsAdmin)
</td>
<td>
@Html.EditorFor(modelItem => item.GoldCoins)
</td>
</tr>
}
<tr><td><input type="submit" value="Save"/></td></tr>
}
내 조치 :
public ActionResult ViewUsers()
{
IEnumerable<User> users = userService.GetUsers();
return View(users.ToList());
}
[HttpPost]
public ActionResult ViewUsers(List<User> users)
{
foreach (User u in users)
{
userService.Save(u);
}
return RedirectToAction("ViewUsers");
}
내가 그것을 잘 단일 엔티티로 작동하기 때문에이 방법은 작동 저장 알고있다. 'users'가 null이기 때문에 루프에 오류가 발생합니다.
모델 바인더는 편집기를 사용하고 HTML 도우미를 표시하는 방법 때문에 컬렉션을 보내고 있다는 것을 모릅니다. –