0

MVC4にはmvc3とは異なるドロップダウンリストがありますか?

mvc4 と mvc 3 で同じテスト プロジェクトを作成しました。

トランザクションコントローラーで

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? でもほとんど同じです..毎回この違いを調査する必要がありますか?快適ではありませんか?

*エラー キー « TransactId » を持つタイプ 'IEnumerable< SelectListItem >' の ViewData アイテムはありません*

*情報

パブリック クラス トランザクション

{

    public virtual int Id { get; set; }

    public int TransactId { get; set; }

    public virtual Transact Transact { get; set; }


}

パブリック クラス トランザクション

{

    [Key]

    public virtual int TransactId { get; set; }

    public virtual string TransactionName { get; set; }

}
4

1 に答える 1

0

@Html.DropDownListFor(model => model.Field)文字列IDの代わりに使用してから、モデルを渡してみてください。

于 2013-01-20T07:35:52.647 に答える