-1
我已經將生成的控制器實體框架的編輯功能與我的模型的視圖進行了轉換。我一次發送一個我所有實例的列表,並在我的剃鬚刀視圖中以Html.BeginForm
的順序循環顯示,而不是編輯處理我的模型的一個實例。當我發佈表單時,我嘗試將列表作爲參數傳遞給我的控制器。我想要列出所有實例及其所有更新值的列表,但是列表會顯示爲空。我看不到這是一個標記問題。請幫忙。如何使用指定的html表單值將相同類別的對象集合回發給控制器
這裏是我的控制器:
public ActionResult Allotment(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
List<ClaimFile> claimFiles = db.ClaimFiles.Where(b => b.ClaimID == id).ToList();
if (claimFiles.Count == 0)
{
return HttpNotFound();
}
ViewBag.DocumentListID = new SelectList(db.DocumentLists, "DocumentListID", "Description", claimFiles.FirstOrDefault().DocumentListID);
return View(claimFiles);
}
查看:
@model List<Harry.ClaimFile>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<h4>ClaimFile</h4>
<hr />
@foreach (var claimfile in Model)
{
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => claimfile.ClaimFileID)
<div class="form-group">
@Html.LabelFor(model => claimfile.DocumentListID, "DocumentListID", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("DocumentListID", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => claimfile.DocumentListID, "", new { @class = "text-danger" })
</div>
</div>
}
<input type="submit" value="Save" class="btn btn-default" />
}
然後在這裏後控制器上我收到空時,我打我的Razor視圖保存按鈕:
[HttpPost]
public ActionResult Allotment(List<ClaimFile> claimFiles)
{
//List<ClaimFile> claimFiles = null. This is my problem
}
請告訴我我做錯了什麼或解決這個問題。謝謝。