Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 从值类型填充dropdownlist_Asp.net Mvc 3_Html.dropdownlistfor - Fatal编程技术网

Asp.net mvc 3 从值类型填充dropdownlist

Asp.net mvc 3 从值类型填充dropdownlist,asp.net-mvc-3,html.dropdownlistfor,Asp.net Mvc 3,Html.dropdownlistfor,这显然是一个非常基本的问题,但我还没有找到解决这个问题的方法:我正在尝试为模型的integer属性创建一个下拉列表,这样我就可以用默认值列表填充下拉列表 我的控制器如下所示: 我的观点是这样的: 我发现的大多数示例dataValueField和dataTextField都是创建下拉列表时应该使用的属性,但是我还没有找到一种方法来将DropDownListFor与值类型一起使用一种简单的方法是使用视图模型来解决这个问题: 因为您从MyListFoOptions创建了SelectList,它已

这显然是一个非常基本的问题,但我还没有找到解决这个问题的方法:我正在尝试为模型的integer属性创建一个下拉列表,这样我就可以用默认值列表填充下拉列表

我的控制器如下所示:

我的观点是这样的:


我发现的大多数示例dataValueFielddataTextField都是创建下拉列表时应该使用的属性,但是我还没有找到一种方法来将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)