2012-02-02 4 views

答えて

2

SelectedIdは、モデル内のフィールドの整数にすぎません。

モデルは

return View(myModel); 

を使用してコントローラから渡されたモデルは、そうdropdownboxの値がでSelectedIdフィールドとして設定されているトップ

@model mymodelnamespace.RoomBookingInsert 

でビューで定義することができますあなたのモデル。

たとえば、適切なフィールド名はRoomNoになります。

@Html.DropDownListFor(model => model.RoomNo, model.Rooms); 

限りmodel.DropDownItems(または私の例ではmodel.Rooms)はその属性の値を持つ項目が含まれていて、それはそれは、デフォルトとして、リストで選択した項目として設定されます。

編集:

あなたはDropDownListを使用する代わりに、むしろモデルよりも、viewbagを使用している場合。この上記

@Html.DropDownList("RoomNo", 
     new SelectList(ViewBag.Rooms as System.Collections.IEnumerable ?? Enumerable.Empty<SelectListItem>(), "RoomNo", "RoomName"), 
     new { @value = @ViewBag.RoomNo}) 

を(各入力は、モデルで使用するためfor拡張子を有する)、ID RoomNoと入力フォームを作成

ヌル場合空にデフォルトするSelectListを使用します。表示される値とテキストを定義したフィールドは、選択リスト・パラメーターの最後に設定されます。

最後のビットは、デフォルト値を@ViewBag.RoomNoの内容に設定します。

コントローラで選択リストを作成して、ドロップダウンオプションをviewbag.myselectListエンティティに設定することもできます。

+0

使用する 'モデル'が '公式'モデルではなく、一部のデータが 'ViewBag'で渡された場合はどうなりますか? – thecoop

+0

DropdownListを使用します。私の答えを変えてください。 – Doomsknight

関連する問題