我有一個視圖模型只是從視圖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