Asp.net mvc 3 从值类型填充dropdownlist
这显然是一个非常基本的问题,但我还没有找到解决这个问题的方法:我正在尝试为模型的integer属性创建一个下拉列表,这样我就可以用默认值列表填充下拉列表 我的控制器如下所示: 我的观点是这样的:Asp.net mvc 3 从值类型填充dropdownlist,asp.net-mvc-3,html.dropdownlistfor,Asp.net Mvc 3,Html.dropdownlistfor,这显然是一个非常基本的问题,但我还没有找到解决这个问题的方法:我正在尝试为模型的integer属性创建一个下拉列表,这样我就可以用默认值列表填充下拉列表 我的控制器如下所示: 我的观点是这样的: 我发现的大多数示例dataValueField和dataTextField都是创建下拉列表时应该使用的属性,但是我还没有找到一种方法来将DropDownListFor与值类型一起使用一种简单的方法是使用视图模型来解决这个问题: 因为您从MyListFoOptions创建了SelectList,它已
我发现的大多数示例dataValueField和dataTextField都是创建下拉列表时应该使用的属性,但是我还没有找到一种方法来将DropDownListFor与值类型一起使用一种简单的方法是使用
视图模型来解决这个问题:
因为您从MyListFoOptions
创建了SelectList
,它已经是SelectList
了,所以您可以使用“文本”和“值”
但您不需要再次包装SelectList,因此这也可以:
@Html.DropDownListFor(model => model.MyIntField,
(IEnumerable<SelectListItem>)ViewBag.MyListOfOptions)
@Html.DropDownListFor(model=>model.MyIntField,
(IEnumerable)ViewBag.MyListFoOptions)
完美!我想这就是这么简单的事情
@Html.DropDownListFor(model => model.MyIntField, new SelectList(ViewBag.MyListOfOptions , [dataValueField], [dataTextField]))
@Html.DropDownListFor(model => model.MyIntField,
new SelectList(ViewBag.MyListOfOptions , "Value", "Text"))
@Html.DropDownListFor(model => model.MyIntField,
(IEnumerable<SelectListItem>)ViewBag.MyListOfOptions)