データベースからアイテムのリストを作成しました。これらは正しく表示されます。変更したブール値をデータベースに保存したいと思います。これらすべてのアイテムをコントローラーに受信して、foreach などでループできるようにするにはどうすればよいですか?
コントローラ
public class ItemController : Controller
{
private SocialGEOContext db = new SocialGEOContext();
public ActionResult ApproveItems()
{
Utility ut = new Utility();
IEnumerable<Item> items;
items = ut.GetAllDistrictItems();
return View(items);
}
[HttpPost]
public ActionResult ApproveItems( ??? )
{
???
}
私が試したHttpPostで
[HttpPost]
public ActionResult ApproveItems( IEnumerable<Item> ViewItems )
{
foreach (Item item in ViewItems)
{
var testje = item.ItemTitle;
}
return View();
}
しかし、ViewItems は空です
ページ
@model IEnumerable<LibModels.Item>
@{
ViewBag.Title = "ItemsByDistrict";
}
<h2>All items from district</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<table>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.ItemID)
</td>
<td>
@Html.DisplayFor(modelItem => item.ItemTitle)
</td>
<td>
@Html.DisplayFor(modelItem => item.ItemCreateddate)
</td>
<td>
@Html.DisplayFor(modelItem => item.ItemDescription)
</td>
<td>
@Html.EditorFor(modelItem => item.ItemApproved)
</td>
</tr>
}
</table>
<p>
<input type="submit" value="Edit" />
</p>
</fieldset>
}