2012-09-17 5 views
12

MVC4 RazorとEntityframeworkを使用しています。5.私は列挙型を作成した整数TypeIDフィールドを持つorganizationというテーブルを持っています。コードでは、私は設定し、列挙型を使用してtypeidを比較することができます。DropDownList For EF5の列挙型

public enum OrganisationType : int 
    { 
     Company = 1, 
     Department = 2, 
     Location = 4 
    } 

しかし、私はパッケージの両方のTypeIDフィールドを無視nuget mvcscaffoldingを経由して、デフォルトのvs2012のMVC 4つのかみそりのテンプレートを使用して、どちらかcreate.cshtmlを生成するとき。私はttテンプレートを修正して、それらが自動生成されるように考えていました。しかし、最初は列挙型の記述的な名前をドロップダウンリストに表示することが可能です。

+0

モデルを(リストを含む)ドロップダウンリストのビューに渡していますか?そのためのデバッグ。 – Ammar

+0

DropdownListForを使用して列挙値とテキストを含むドロップダウンリストを設定しようとしていますか? – Kaf

答えて

24

これは解決策です。これを自動化するためにTTテンプレートを変更するのは簡単ではありません。

@Html.DropDownListFor(model => model.TypeID, new SelectList(Enum.GetValues(typeof(Models.OrganisationType)))) 

これは、企業、部門、場所のテキスト値を含むドロップダウンコンボを表示します。あなたが列挙型を持っているモデルのビューを足場場合

MVC5の現在のバージョンで
5

、それはこれを生成します。正確にティムのソリューションと同じですが、わずかによりよい構文を使用してい

@Html.EnumDropDownListFor(model => model.OrganisationType, 
          htmlAttributes: new { @class = "form-control" }) 

を。