为什么mvc4中的dropdownlist会抛出mvc3运行良好的错误

时间:2013-01-19 17:56:00

标签: asp.net-mvc-3 asp.net-mvc-4 html-select

你能否告诉我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; }

}

1 个答案:

答案 0 :(得分:0)

尝试使用@Html.DropDownListFor(model => model.Field),然后传入模型而不是字符串ID。