Asp.net mvc 3 为什么mvc4中的dropdownlist在mvc3正常工作时抛出错误

Asp.net mvc 3 为什么mvc4中的dropdownlist在mvc3正常工作时抛出错误,asp.net-mvc-3,asp.net-mvc-4,html-select,Asp.net Mvc 3,Asp.net Mvc 4,Html Select,请问MVC4和mvc3有不同的下拉列表吗 我在mvc4和MVC3中做了相同的测试项目: 在TransactionController中 public ActionResult Create() { var listme=db.Transacts.ToList(); ViewBag.TransactId = new SelectList(listme, "TransactId", "TransactionName"); return View(); }

请问MVC4和mvc3有不同的下拉列表吗

我在mvc4和MVC3中做了相同的测试项目:

在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" />
公共类事务

{

    [Key]

    public virtual int TransactId { get; set; }

    public virtual string TransactionName { get; set; }

}

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

我猜您有一个
[HttPost]公共操作结果Create()
请同时发布它的代码….[HttpPost]公共操作结果Create(Transaction Transaction){if(ModelState.IsValid){transactionRepository.InsertOrUpdate(transaction);transactionRepository.Save();return RedirectToAction(“索引”);}else{var listme=db.Transactions.ToList();ViewBag.TransactionId=new SelectList(listme,“TransactionId”,“TransactionName”);return View(); } }
{

    [Key]

    public virtual int TransactId { get; set; }

    public virtual string TransactionName { get; set; }

}