我使用这些数据填充下拉列表:
return _lamb_database.Lambs().Select(lamb => new SelectListItem
{
Text = lamb.LambName,
Value = lamb.LambID.ToString()
}).ToList();
然后我使用viewmodel将此List传递给视图。在视图中,我使用以下代码显示viewmodel中的项目:
@Html.DropDownListFor(m => m.SelectedLamb, Model.Facilities, "Select Lamb")
SelectedLamb是一个整数,它为数据库中的lamb赋予唯一标识符。我试图传回羊羔的唯一标识符而不是羊羔的名字。你可以在上面看到我试图让这个列表设置SelectedLamb。
我收到此错误:
具有键“SelectedLamb”的ViewData项是类型 'System.Int32'但必须是'IEnumerable'类型。
有谁知道如何让这个工作?我现在花了这么长时间。
答案 0 :(得分:1)
提交后需要再次设置Facilities
属性。
[HttpPost]
public ActionResult YourActionName(YourModel model)
{
model.Facilities = ..; // set again
return View(model);
}