ASP.NET获取DropDownList的值

时间:2014-08-28 09:19:12

标签: c# asp.net asp.net-mvc

我使用这些数据填充下拉列表:

        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'类型。

有谁知道如何让这个工作?我现在花了这么长时间。

1 个答案:

答案 0 :(得分:1)

提交后需要再次设置Facilities属性。

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