我有这样一个类:填充用硬编码值下拉列表中.NET MVC 5
public class MyClass
{
public SelectList saleRange = new SelectList(new[]
{
new SelectListItem { Selected = true ,Text = "--- Select date range ---", Value = "0" },
new SelectListItem { Selected = false, Text = "7 days", Value = "7" },
new SelectListItem { Selected = false, Text = "14 days", Value = "14" },
new SelectListItem { Selected = false, Text = "21 days", Value = "21" },
new SelectListItem { Selected = false, Text = "30 days", Value = "30" },
}, "Value", "Text");
}
我的行动:
public ActionResult Index()
{
var model = new MyClass();
return View(model);
}
和视图看起来是这样的:
@Html.DropDownListFor(m => m.saleRange, (IEnumerable<SelectListItem>)Model.saleRange,new { @class= "select2" , @style = "width:95%;border-left:2px solid #eee" })
但我得到这个错误:
Unable to cast object of type 'ServiceStack.Html.SelectList' to type 'System.Collections.Generic.IEnumerable`1[System.Web.Mvc.SelectListItem]'.
我在这里做错了什么?我如何使用硬编码值从我的viewmodel填充下拉列表
只要将转换删除到'(IEnumerable)' –
maccettura
然后我得到一个错误:编译器错误消息:CS1503:参数3:无法从'ServiceStack.Html.SelectList'转换为' System.Collections.Generic.IEnumerable' –
User987
但是,您的模型上确实需要存储所选项目的值的属性。这就是'DropDownListFor()'的第一个参数应该是 – maccettura