2

ビューでブロック[Display]をコーディングすることなく、データベースに保存されている列挙型 (つまり、None の場合、対応するのは「いいえ」)のテキストを取得しようとしています。@if無理だとは思いますが、質問させてください。

public enum MyEnum
{
    [Display(Name = "No thanks.")]
    None,
    [Display(Name = "Yes, send me your 100 Packet.")]
    100Packet,
    [Display(Name = "Yes, send me your 200 Packet.")]
    200Packet
}

現在、私が持っている唯一の解決策は、私の見解ではこれを行うことです:

@Model.MyEnumRadioButton // displays saved item in DB (i.e., "100Packet")

@if (Model.MyEnumRadioButton == MyEnum.None)
{
    <text>No thanks.</text>
}
....

の各アイテムに対してそれを繰り返しenumます。この小さな例では大したことではありませんが、さまざまな がありenum、最大 10 の選択肢があるものもあります。

たとえば@Model.MyEnumRadioButton、テキストを表示するために でできることはありますか?

何かご意見は?前もって感謝します。

4

2 に答える 2

2

私の問題に対する簡単な答えを見つけました:

MVC.netは、ビューで列挙型を参照することなく、ビューで列挙型の表示名を取得します

私がしなければならないのは@MyEnum.100Packet.DisplayName()

于 2012-11-19T23:21:00.737 に答える
1

この投稿を参照してください。彼は説明属性を使用して、私が信じていることを実現しています。

列挙値のカスタム文字列書式設定を使用して、列挙型バインド コンボボックスを作成するにはどうすればよいですか?

于 2012-11-19T21:28:09.977 に答える