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