2016-09-16 10 views
0

EnumDropDownListForに表示できる列挙型は問題ありません。列挙型を保存できます。今私は自分のレコードからその価値を取り、それに対するDataAnnotationを表示しようとしています。私はEnum.GetNameしかしいくつかの問題を克服しようとしています。Enum.GetName表示注釈

私の列挙 -

public enum LandOwner 
    { 
     [Display(Name = "Yes")] 
     Y =1 , 
     [Display(Name = "No")] 
     N =2, 
     [Display(Name = "No Nearby Land Owner")] 
     O =3 
    } 

    public LandOwner ownerDropDown { get; set; } 

私はそれがYを保存するレコードを保存、NまたはO

マイEnum.GetName - Model.LandOwnersNotifiedはY、N、またはO

@Enum.GetName(typeof(OpenBurn.Models.BurnPile.LandOwner), Model.LandownersNotified) 
です

これを実行すると、次のエラーが表示されます。

Int32など列挙塩基または列挙のための基礎となるタイプでなければならないで渡された値\ R \ nParameter名前:値

IはEnum.GetNameを変更

@Enum.GetName(typeof(OpenBurn.Models.BurnPile.LandOwner), 1) 

私はEnum.GetNameの後半部分を知っていますが、それを提供するenumと組み合わせてModel.LandownersNotifiedはありませんか?

私はすべてのためにYを受け取ります。私はすぐに[Display(name="...")]を受け取ります。

+0

@ Html.DisplayFor()は機能しませんか? – dwbartz

+0

@ Html.DisplayFor()は私のenumのオプションを私に与えません。 –

答えて

0

あなたが何をしようとしているのか分かりません。しかし、@Enum.GetNameは列挙型の値の名前を返すように設計されています。それで列挙型を渡すことはできません。

+0

これで '@ Html.DisplayFor'を使用しますか? –

+0

データベースがLandOwnersNotifiedの 'Y'を記録したときに、削除、編集、詳細、およびインデックスビューに「はい」と表示したいと思います。 –

関連する問題