1
@Html.DropDownListFor(model => model.SelectedId, model.DropDownItems);
一個下拉列表,但在哪裏呢DropDownListFor得到通入model => model.SelectedId
拉姆達從價值?
@Html.DropDownListFor(model => model.SelectedId, model.DropDownItems);
一個下拉列表,但在哪裏呢DropDownListFor得到通入model => model.SelectedId
拉姆達從價值?
SelectedId只是模型中字段的整數。
該模型是從使用
return View(myModel);
和模型可以在視圖頂部
@model mymodelnamespace.RoomBookingInsert
所以dropdownbox的值被設定爲在SelectedId
字段中定義的控制器通過在你的模型。
例如,適當的字段名稱應該是RoomNo
,如果這樣可以更好地說明。
@Html.DropDownListFor(model => model.RoomNo, model.Rooms);
只要model.DropDownItems
(或在我的例子model.Rooms
)包含與屬性值的項目,將它設置爲在列表中默認選定的項目。
編輯:
如果使用viewbag,而不是模型,而是使用DropDownList
。 (每一個輸入有一個for
擴展爲使用型號)
@Html.DropDownList("RoomNo",
new SelectList(ViewBag.Rooms as System.Collections.IEnumerable ?? Enumerable.Empty<SelectListItem>(), "RoomNo", "RoomName"),
new { @value = @ViewBag.RoomNo})
這上面,創建具有ID RoomNo
輸入形式,
,並使用該SelectList
將默認爲空,如果爲空。定義所顯示的值和文本的字段在選擇列表參數的末尾處設置。
最後一位將缺省值設置爲@ViewBag.RoomNo
的內容。
您也可以在控制器中創建選擇列表,然後簡單地將下拉選項設置爲viewbag.myselectList
實體。
如果您要使用的'模型'不是'官方'模型,但是在ViewBag中傳遞了一些數據? – thecoop 2012-02-02 12:38:30
使用DropdownList。生病更新我的答案。 – Doomsknight 2012-02-02 12:56:26