你能否告诉我MVC4有不同的下拉列表然后是mvc3吗?
我在mvc4和mvc 3中制作了相同的测试项目:
在TransactionController中
public ActionResult Create()
{
var listme=db.Transacts.ToList();
ViewBag.TransactId = new SelectList(listme, "TransactId", "TransactionName");
return View();
}
创建视图中的
@model HomeAccounting.Domain.Transaction
...some code
@using (Html.BeginForm())
...some code
@Html.DropDownList("TransactId",String.Empty)
...some code
< input type="submit" value="Create" />
结果 提交表单时,下拉列表在mvc4中提供错误。但是MVC3非常有效 是什么原因?如果mvc4和mvc3助手不同怎么找出差异呢? F12?但是几乎一样..我每次都要研究这种差异,这不舒服吗?
*的 错误 没有类型为'IEnumerable&lt;的ViewData项SelectListItem&gt;'它有关键«TransactId» *
*的信息
公共类交易
{
public virtual int Id { get; set; }
public int TransactId { get; set; }
public virtual Transact Transact { get; set; }
}
公共类Transact
{
[Key]
public virtual int TransactId { get; set; }
public virtual string TransactionName { get; set; }
}
答案 0 :(得分:0)
尝试使用@Html.DropDownListFor(model => model.Field)
,然后传入模型而不是字符串ID。