数据绑定:'System.Web.Mvc.SelectListItem'不包含名为 'Id' 的属性



有人能帮我吗?我不知道我做错了什么。在我的控制器上

public ActionResult ProdutoCategoria()
{
    var model = db.Perfies;
    ViewBag.Perfies_Id = new SelectList(db.Perfies.ToList(), "Id", "NomePerfil");  
    return View(model);
}
public ActionResult consultaBD(int id)
{
    var selectedPerfil = (from Perf in db.Perfies
                          where Perf.Id == id
                          select new { Id = Perf.Id, Name = Perf.NomePerfil }).ToList();
    Utilizador utili = db.Utilizadores.Find(id);
    ViewBag.Perfies_Id = selectedPerfil;
    if (utili == null) { 
        return HttpNotFound();  
    }
    return View();
 }

正在查看

<form action="/Produto/consultoDB" method="post">
    <label>Select one </label>
    @Html.DropDownList("Perfies_Id", new SelectList(ViewBag.Perfies_Id, "Id", "NomePerfil"))
    <input type="submit" class="button success" value="Enter" />
</form>

Perfies_Id已经是SelectList。将控制器中的代码更改为

ViewBag.Perfies_Id = db.Perfies.ToList();

或者在看来

@Html.DropDownList("Perfies_Id", ViewBag.Perfies_Id)

选择列表的select元素名称和ViewBag变量名称不能相同。他们会发生冲突。将ViewBag变量更改为类似ViewBag.Perfies_Id_Choices的变量,您就可以了。

最新更新