選択した値が Html.DropDownList ヘルパー メソッドで機能しないという問題があります。下記参照:
これは私のコントローラーです:
public ActionResult Edit(int id = 0)
{
NewsEvent item = GetItem(id);
ViewBag.NewsItemId = new SelectList(ViewBag.NewsItemId.Items, "Id", "Name", item.NewsItemId);
return View(item);
}
これは私の見解です:
@Html.DropDownList("NewsItemId",ViewBag.NewsItemId as SelectList, string.Empty,
new { @class = "form-control" })
ただし、ビューで以下を試すと、機能します。
@Html.DropDownList("NewsItemId", string.Empty)
以下も動作しますが、フィールド名がモデルと一致しないため、正しく投稿されません。
@Html.DropDownList("NewsItemIdDrop",ViewBag.NewsItemId as SelectList, string.Empty,
new { @class = "form-control" })
最初のオプションを使用する必要がある理由は、クラス属性をコントロールに追加できるようにするためです。
誰かが私が間違っていることを理解するのを手伝ってくれますか?