Asp.net mvc 数据绑定:“System.Web.Mvc.SelectListItem”不包含名为“Id”的属性
谁能帮帮我吗我不知道我做错了什么。 在我的控制器上Asp.net mvc 数据绑定:“System.Web.Mvc.SelectListItem”不包含名为“Id”的属性,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,谁能帮帮我吗我不知道我做错了什么。 在我的控制器上 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) {
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\u Id已经是一个SelectList。将控制器中的代码更改为
ViewBag.Perfies_Id = db.Perfies.ToList();
或者为了
@Html.DropDownList("Perfies_Id", ViewBag.Perfies_Id)
select列表的select元素名称和ViewBag变量名称不能相同。他们会发生冲突。将ViewBag变量更改为类似ViewBag.Perfies\u Id\u选项的变量,您会没事的。抱歉,Zabavsky它不起作用,我不能这样放置@Html.DropDownListPerfies\u Id,ViewBag.Perfies\u Id在我放置此ViewBag.Perfies\u Id=db.Perfies.ToList时,不会在组合框和控制器上显示perfil的名称;不起作用well@Zabavsky我认为viewbag.Perfies\u Id中viewbag之前缺少SelectList