我有一个视图模型,其中包含一个情节和一个布尔值“已观看”:
public class WatchedEpisodeViewModel
{
public Episode Episode { get; set; }
public bool Watched { get; set; }
}
我有一个绑定到我的视图的列表:
@model IEnumerable<Seriebeheer.Web.Models.WatchedEpisodeViewModel>
我列出了这些信息:
@foreach (var episode in Model)
{
<tr>
<td>@episode.Episode.ID</td>
<td>@episode.Episode.Name</td>
<td>@episode.Episode.Date.Value.ToString("dd/MM/yyyy")</td>
<td><input type="checkbox" value="@episode.Episode.ID" checked="@episode.Watched"/></td>
</tr>
}
用户可以标记复选框并按下按钮来提交信息。我想在我的控制器中查看标记了哪些复选框,哪些没有。
实现这一目标的最佳方法是什么?
编辑:
[HttpPost]
public ActionResult Checkin(IEnumerable<WatchedEpisodeViewModel> episodes)
{
foreach (WatchedEpisodeViewModel episode in episodes) <-- nullreference exception
{
if (episode.Watched)
{
// test
}
}
return RedirectToAction("Index", "Home");
}