ASP.NET获得值的DropDownList

ASP.NET获得值的DropDownList

问题描述:

我在用的这个数据填充一个下拉列表:ASP.NET获得值的DropDownList

 return _lamb_database.Lambs().Select(lamb => new SelectListItem 
     { 
      Text = lamb.LambName, 
      Value = lamb.LambID.ToString() 
     }).ToList(); 

我然后使用视图模型通过这个列表的视图。在视图我显示在视图模型中的项目使用此代码:

 @Html.DropDownListFor(m => m.SelectedLamb, Model.Facilities, "Select Lamb") 

SelectedLamb是一个整数,给出了在数据库中的羊肉独特的IDENTIFER。我想回传羊肉的唯一标识符而不是羊肉的名字。你可以在上面看到,我试图让这个列表设置SelectedLamb。

我收到此错误:

The ViewData item that has the key 'SelectedLamb' is of type 'System.Int32' but must be of type 'IEnumerable'.

有谁知道我能得到这个工作?现在我已经花了这么长时间了。

+0

是'Model.Facilities' typeof'SelectList'? – 2014-08-28 09:26:10

+0

它是IEnumerable类型的 user3412625 2014-08-28 09:35:03

+0

你确定你已经初始化它吗? ('MyModel.Facilities = theFuntionAbove;') - 如果该属性为null或模型为null,则可能发生此消息 – 2014-08-28 09:36:24

提交后需要重新设置Facilities属性。

[HttpPost] 
public ActionResult YourActionName(YourModel model) 
{ 
    model.Facilities = ..; // set again 
    return View(model); 
} 
+1

非常感谢,这工作! – user3412625 2014-08-28 09:43:19