3

RazorViewsを使用してASP.NetMVC3Webアプリケーションを開発しています。ビュー内で、はい/いいえの答えしか持てない質問をユーザーに尋ねたいので、2つのラジオボタンを使用することを計画しています。

ビューに渡すViewModelがあり、次のようになります。

public class ViewModelFormImmigration
{
    public int immigrationID { get; set; }
    public int formID { get; set; }

    [Required(ErrorMessage = "Please select Yes or No.")]
    public bool euNational { get; set; }
}

私のビューでは、次のコード行を使用して、[はい]オプションと[いいえ]オプションの両方のラジオボタンを表示します。

@Html.RadioButtonFor(model => model.euNational, true) <text>Yes</text>
@Html.RadioButtonFor(model => model.euNational, false) <text>No</text>

私の問題は、ユーザーが初めてこのビューにアクセスしたときに、[はい]または[いいえ]オプションのどちらも選択したくないということです。現時点では、ViewModelのインスタンスを作成すると(上記を参照)、プロパティeuNationalはデフォルトでfalseに設定され、ViewModelがビューに渡されると、オプションNoが自動的に選択されます。

とにかくこれを回避して、ユーザーが初めてビューを表示したときに、デフォルトでオプションが選択されていないようにすることはできますか?

皆様のご協力に感謝いたします。

4

1 に答える 1

9

変更してみてください:

[Required(ErrorMessage = "Please select Yes or No.")]
public bool euNational { get; set; }

に:

[Required(ErrorMessage = "Please select Yes or No.")]
public bool? euNational { get; set; }

このように、値が設定されていないビューを最初にロードしたときにeuNational、trueにもfalseにも設定されません。値が設定されていない現在のように、デフォルトではfalse

于 2012-05-17T14:35:11.870 に答える