0

まだ mvc/EF/razor について頭を悩ませようとしています。静的/ハードコーディングされたドロップダウン リストがあります。これを列挙不可能なモデルエンティティ「ステータス」に「バインド」したい。

私が持っているビューでは

@Html.DropDownList("status", String.Empty)

コントローラーには、

ViewBag.status = new SelectList(new[] { "yes", "no", "maybe" }, booking.status);

ステータスが列挙可能であれば完了だと思いますが、ステータスが列挙可能ではないため、次のエラーが発生します。

キー「ステータス」を持つViewDataタイプのアイテムはありません。IEnumerable<SelectListItem>

私は明らかにいくつかのことを見逃しており、助けていただければ幸いです。

4

1 に答える 1

1

私はあなたの配列の初期化が好きではありません - それはコンパイルしますか? これを試して:

ViewBag.status = new SelectList(new string[] { "yes", "no", "maybe" }, booking.status);

次のように、選択リストを HtmlHelper.DropDownList メソッド呼び出し ( MSDN )に渡す必要があります。

@Html.DropDownList("status", ( SelectList )ViewBag.status)
于 2013-10-03T17:01:57.057 に答える