我有一个视图模型只是从视图MVC3复选框传值回模型
public class Visits
{
public List<Visit> visits { get; set; }
}
在我的访问模式,我有一个
public bool ValidVisit { get; set; }
我能一切传递给我的看法确定并渲染视图上的所有访问。视图看起来像
@model TheWallSite.ObjectModels.Visits
@{
ViewBag.Title = "Potential invalid visits!";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm())
{
<fieldset>
<table>
<tr><th>Check In/Out Time</th><th>Visit Type</th><th>In/Out</th><th>IP</th><th>SSO ID</th><th>Valid Visit</th></tr>
@foreach (var item in Model.visits)
{
<tr>
<td>@Html.DisplayFor(model => item.InOutTime)</td>
<td>@Html.DisplayFor(model => item.VisitType)</td>
<td>@Html.DisplayFor(model => item.VisitName)</td>
<td>@Html.DisplayFor(model => item.IP)</td>
<td>@Html.DisplayFor(model => item.SSO)</td>
<td>@Html.EditorFor(model => item.ValidVisit)</td>
</tr>
}
</table>
<input type="submit" value="Submit" />
</fieldset>
}
我遇到的问题是我想最终用户能够选中/取消ValidVisit,然后通过这些回控制器,让我的数据库中正确的改变。我我有一段时间搞清楚如何做到这一点。有什么建议么?我的[HttpPost]控制器签名是
public ActionResult ListQuestionableVisits(Visits model, FormCollection forms)
但似乎没有回到控制器。
你确定你的'ListQuestionableVisits'被调用吗?因为您应该将其设置为您的'Html.BeginForm()' – Marc 2012-02-23 03:48:57
中的目标动作。我已经通过放入一个断点来测试它,并在控制器中调用正确的方法。 – samack 2012-02-23 03:55:39
@Marc - 默认情况下'@ Html.BeginForm()'回到相同的动作,所以在这种情况下你不需要任何参数。 – RPM1984 2012-02-23 08:41:32