我是MVC的新手,我需要一些帮助将List从视图传递到控制器。 我已经在我的控制器中有了List,我把它发送到了视图,我想把它发回去。
首先是我的控制器:
public ActionResult Upload()
{
List<Item> items = new List<Item>();
...
return View("ImportPreview", items);
}
这是我的观点:
@model IEnumerable<Project.Models.Item>
@{
ViewBag.Title = "Import Preview";
}
<h2>Import Preview</h2>
<h3>Imported Items</h3>
@using (Html.BeginForm("ImportToDB", "ImportItems"))
{
<table id="tableItems" border="1">
<tr>
<th>Item Ref</th>
<th>Item Description</th>
<th>Item Notes</th>
<th>Available Qty</th>
<th>Category Ref</th>
<th>Time Stamp</th>
<th>Is Trackable by Variation</th>
</tr>
@foreach (var item in Model)
{
@Html.HiddenFor(modelItem => item.AccountID);
<tr>
<td>
@Html.DisplayFor(modelItem => item.ItemRef)
</td>
<td>
@Html.DisplayFor(modelItem => item.ItemDescription)
</td>
<td>
@Html.DisplayFor(modelItem => item.ItemNotes)
</td>
<td>
@Html.DisplayFor(modelItem => item.AvailableQty)
</td>
<td>
@Html.DisplayFor(modelItem => item.ItemCategoryRef)
</td>
<td>
@Html.DisplayFor(modelItem => item.recordTimeStamp)
</td>
<td>
@Html.DisplayFor(modelItem => item.IsTrackableByVariation)
</td>
</tr>
}
</table>
<input type="submit" name="Import" id="Import" value="Import" />
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
最后这是我在控制器中的最后一部分,我必须收集List&lt;&gt;:
[HttpPost]
public ActionResult ImportToDB(List<Item> items)
{
...
}
问题是控制器中的items始终为null。
有人能告诉我我的错误在哪里。 提前谢谢你:)
非常感谢您的帮助。