2011-04-06 6 views
0

私はこれが可能かどうか、またはそれが容認できる/受け入れられない習慣であるかどうかはわかりませんが、Personオブジェクトのintプロパティ(Gender)を持っていて、表示できる方法があるかどうか疑問です数値として表示するのではなく、ユーザーが選択する(つまり、 "男性"と "女性")テキスト(およびラジオボタン、それらが最良の選択肢であると仮定して)私はそれが可能であると仮定していますが、私はどこから始めるべきかわかりません。それは、サービス層の多分、プロパティ上のいくつかのカスタマイズですか?私はそこに他のプロパティで "フォーマット"と "キャプション"といくつかのカスタマイズがあります。性別:uiにintプロパティをテキストとして表示する方法はありますか?

properties.Add(new PropertyData { Property = "Gender", Type = "Int32", Value = data.Gender.ToString() }); 

これは私が持っているすべてのものですか?またはそれは直接ビューにありますか?これは私が今持っているものです。整数を入力できるテキストボックスです。

<p class="span1"> 
    @Html.Label(Model.Person.Properties, "Gender") 
    @Html.TextBox(Model.Person.Properties, "Gender") 
    @Html.Tip(Model.Person.Properties, "Gender") 
</p> 

助けてください。 :)追加の情報やコードを提供する必要がある場合は、私にお知らせください。

EDIT: 私は次のように使用:

<p> 
    @Html.Label(Model.Person.Properties, "Gender") 
    <input type="radio" name="Gender" value="1" /><span>Male</span> 
    <input type="radio" name="Gender" value="2" /><span>Female</span> 
</p> 

は、私が編集するための私の人を引き上げたときに選択ボタンを維持する方法はありますか?編集フォームで他のすべて(つまり、レコードの現在のデータ)が再入力されます。 (これは別の質問ですか?)

+1

ジェンダーは整数である必要がありますか?ブール値はより良いでしょう – babsher

+0

OT:形而上学的なレベルでは、逆の質問になるはずです:テキストではないにもかかわらず、intをどのように表示しますか? (棒グラフ、スライダ、絵文字カウント):) – sehe

+0

@ user673289、私は知覚される利益が整数として持つことが何であるか分かりません。それは私がそれを作成するように言われた方法でしたが、私はあなたのポイントを見ることができます。 –

答えて

1

この記事を見て、それが助けかどうかを確認:How to pass an enum to Html.RadioButtonFor to get a list of radio buttons in MVC 2 RC 2, C#短い

  1. は、列挙型
  2. からジェンダー名 を読み取るための方法を使用して、男女の列挙
  3. を作成します。
  4. ラジオボタンの値をに設定します。enumの値
+0

ありがとうございます。 @Tejsの最初の回答から、これは私が作成したものです。

@ Html.Label(Model.Person。プロパティ、 "性別") 女性

ジェンダーエナムでそれをする利点がありますか?私には、2つの選択肢のために必要以上に複雑に思えます...しかし、私はまだ初心者です。 –

+0

申し訳ありませんが、上記のコメントにあなたのタグを忘れました。私はあなたがそうでなければそれを見るか分からない。 (私はこれを削除して元のコメントを編集することができると思っていましたが、最新のものを編集できるように思えますか?): –

+1

@White Island列挙型の利点は、コードが読みやすくなっていることです。性別= 1か、性別=女性?あなたのコードに慣れていない人は、Gender = 1が何を意味するのか分からないでしょう。 – Cory

1

MVCでは、レンダリングするHTMLを完全に制御できます。だからここにはいくつかのオプションがあります。あなたがそれを望むように手動でHTMLをレンダリングすることができます。

<input type="radio" name="SomeName" value="1"><span>Male</span> 
<!-- Etc for each item !--> 

それとも、あなたがそれを行うために、他のHtmlHelpersのいずれかを使用できます。

@Html.RadioButtonFor(x => x.Person.Properties, "Male") 
@Html.RadioButtonListFor (Custom) 

あなたを実装する方法の詳細についてhereがありますMVC3の独自のラジオボタンリスト

+0

迅速な対応と明確な指示に感謝します。ラジオボタンではなく、列挙型とドロップダウンリストを使用して終了しました。 –

関連する問題