这显然是非常基本的问题,但我还没有找到解决方法:我正在尝试为我的Model的整数属性创建一个下拉列表,因此我可以使用默认的值列表填充下拉列表。
我的控制器看起来像这样:
ViewBag.MyListOfOptions = new SelectList(new int[] { 5, 15, 25, 50 });
我的观点如下:
@Html.DropDownListFor(model => model.MyIntField, new SelectList(ViewBag.MyListOfOptions , [dataValueField], [dataTextField]))
我发现的大多数示例 dataValueField 和 dataTextField 是创建下拉列表时应该使用的属性,但我还没有找到如何使用的方法带有值类型的DropDownListFor
答案 0 :(得分:2)
因为您从SelectList
创建了MyListOfOptions
已经是SelectList
,您可以使用“文字”和“价值”
@Html.DropDownListFor(model => model.MyIntField,
new SelectList(ViewBag.MyListOfOptions , "Value", "Text"))
但是你不需要再次包装一个SelectList,所以这也可以工作:
@Html.DropDownListFor(model => model.MyIntField,
(IEnumerable<SelectListItem>)ViewBag.MyListOfOptions)
答案 1 :(得分:1)
解决此问题的一种简单方法是使用ViewModel
: