Web ページのテーブル アイテムを編集し、それらをサーバーにポストする方法を理解するのに苦労しています。(実際には、この場合、複数の項目を選択しているかのように、ユーザーにチェックボックスを選択してもらいたいだけですが、それは単なる暗示です)。
問題は、ビューが Web ページに表示されている間、HttpPost で picSelections が null であることです。
これは私のビューの上部にあります:
@model IEnumerable<CarShow.lmit_pics>
@using (Html.BeginForm())
{
<div style="width:100%; height:60px; ">
<input type="submit" value="Add Selected Photo(s) to Survey" />
</div>
for (int i = 0; i < Model.Count(); i++)
{
var item = Model.ElementAt(i);
<div style="width:296px; float:left">
<div style="float:left; width:200px; margin-bottom:18px">
@{string cropped = "../../../Content/Images/" + Html.DisplayFor(modelItem => item.picname).ToString() + "?" + Html.DisplayFor(modelItem => item.version).ToString();
}
<img alt="picture" class="pic-size" src="@cropped" />
<br />
@Html.EditorFor(modelItem => item.brand)
</div>
</div>
}
}
</div>
これはコントローラーにあります:
public ActionResult AddSurveyPic(string id)
{
var validPicSummaries = (IEnumerable)(from x in db.lmit_pics where x.enabled == 1 select x);
return View((IEnumerable)validPicSummaries);
}
[HttpPost]
public ActionResult AddSurveyPic(IEnumerable<CarShow_MVC.lmit_pics> picSelections)
{
// Save data here
}
ありがとう。