注: 以下は単なる例です。
私は ASP.NET MVC にかなり慣れていないので、ドロップダウン リストの検証がどのように機能するかについて頭を悩ませようとしています。ProfileViewModel
クラスに次のプロパティがあります。
[DisplayName("Gender")]
public bool? Gender { get; set; }
null
true
女性とfalse
男性の「不明」を意味します。ビュー モデル コンストラクターで I
AllGenders = new List<SelectListItem>(2)
{
new SelectListItem {Text = "Unknown", Value = "null"},
new SelectListItem {Text = "Male", Value = "false"},
new SelectListItem {Text = "Female", Value = "true"}
};
まず、 a にデータを入力するときに文字列を使用する必要があるようですがList<SelectListItem>
、これはちょっと奇妙に感じます。これは本当にそれがどのように行われているのですか?
次に、リストで「不明」を選択すると、検証に失敗して次のように通知されます。
値「null」は性別には無効です。
何故ですか?「null」オプションを削除Gender
して simple に変更するとbool
、すべて問題ないようです。
これは ASPX です。
<%= Html.DropDownList("Gender", Model.AllGenders) %>
DropDownListFor
(私は正しく動作することができず、他の多くの人が同じ問題を抱えているようです。)
どんな助けでも大歓迎です!