ASP.NET获取DropDownList的值

本文关键字:的值 DropDownList 获取 NET ASP | 更新日期: 2023-09-27 18:19:39

我正在使用以下数据填充下拉列表:

        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是一个整数,它为数据库中的lamb提供唯一的标识符。我试图传递回羔羊的唯一标识符,而不是羔羊的名字。你可以在上面看到,我正试图让这个列表设置SelectedLamb。

我得到这个错误:

具有关键字"SelectedLamb"的ViewData项的类型为"System.Int32",但必须是"IEnumerable"类型。

有人知道我该怎么做吗?我已经花了这么长时间在这上面了。

ASP.NET获取DropDownList的值

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

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