2

RadioButtonFor選択可能なアイテムのリストを表示するために使用しています。これは私が使用しているウィザードの一部であり、ウィザードの最後のステップは、ユーザーが送信を確認するための要約です。を除いてすべてが機能していRadioButtonForます。私の要約には、ユーザーが入力した内容を示す非常に基本的なものが含まれています。

例:

...

<div>Summary</div>

<div>Please confirm the information you are submitting.</div>

<div>First Name: @Model.FirstName</div>

...

私のモデルの関連部分:

public CategoryList Category { get; set; }

public enum CategoryList
{
    Category1
    Category2
    Category3
}

私のページの関連部分(RadioButtonForを使用したウィザードステップ):

...

@Html.LabelFor(m => m.Category, new { @class = "CLASS" })
@Html.ValidationMessageFor(m => m.Category)

<div>
@Html.RadioButtonFor(m => m.Category, "Category1")
<span>NEW!</span>Category 1. This Category is for BLAH BLAH BLAH ...
@Html.RadioButtonFor(m => m.Category, "Category2")
Category 2. This Category is for BLAH BLAH BLAH ...
@Html.RadioButtonFor(m => m.Category, "Category3")
Category 3. This Category is for BLAH BLAH BLAH ...
</div>
...

私のページの関連部分(RadiouButtonForを含むウィザードの要約ステップ):

<div>@Model.Category</div>

上記は、カテゴリリストに実際の名前を表示するだけです。ユーザーがカテゴリ1を選択した場合は、「Category1」と言うので、列挙型が正しく機能していることがわかります。ただし、説明をもっとわかりやすくしたいと思います。カテゴリ1に「カテゴリ1」と言ってもらいたいとしましょう。このカテゴリはBLAHBLAHBLAH用であり、「カテゴリ1」の周りに配置することもできます。赤で表示されるようにします。列挙型で使用する実際の名前は3語で、2つのアンダースコアが含まれているため、要約に表示される「Word1_Word2_Word3」をそこに含めるのはUIにあまり適していません。

より正確には、上記のページの関連部分を見るとRadioButtonFor、UIでユーザーに表示されるラジオボタンのテキストが含まれています。そこに表示されるテキストは、要約に表示したいものです。

私は以下を使ってみました:

<div>@Model.Category.CategoryList</div>

ただし、エラーがスローされます(... "CategoryList"の定義が含まれておらず、...型の最初の引数を受け入れる拡張メソッド "CategoryList"が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありません)。私はグーグルネットで何時間も過ごしましたが、何も見つかりませんでした(おそらく私が良い検索用語を作成していないためです)。

何かご意見は?これは可能ですか、それとも私が探していることを達成するために私ができる何か代替策がありますか?

繰り返しになりますが、別の方法で再質問することがポリシーに違反している場合は、ご協力いただきありがとうございます。

4

1 に答える 1

-1

Dictionary<CategoryList, string>説明をどこかに保存して書くことができます@Html.Raw(YourDictionary[Model.Category])

于 2011-04-28T17:54:38.463 に答える