私は典型的なYesNoの種類のドロップダウンをアプリケーションに持っています。そのために、私は、将来の拡張pruposeのためのモデル(むしろViewModel Utility)クラスを開発しました。その後DropDownListFor(...)デフォルトでboolean falseを選択しています
public string Text { get; set; } // represents text part
public bool Value { get; set; } // represent value
public List<DropDown> DropDowns { get; set; } //list for binding
public void BuildYesNoDropDown()
{
DropDowns = new List<DropDown>();
DropDowns.Add(new DropDown { Text = "Yes", Value = true });
DropDowns.Add(new DropDown { Text = "No", Value = false });
}
は、私は次のようなビューでバインド:
ビューで@Html.DropDownListFor(x => x.SelectedValue, new SelectList(Model.DropDowns, "Value", "Text",1),"Select") //last para - OptionLabel
、すべての3つのパラメータは、「はい」と「いいえ」の表示は、すなわち「選択」になっています。しかし、デフォルトでは「いいえ」が選択されています。私は "値"プロパティを整数として作成する場合、正常に動作し、デフォルトでは "選択"が選択されますが、コードで言及されているように、bool型の場合は "いいえ"が選択されます。
DataValueFieldがboolのときの通常の動作を取得するにはどうすればよいですか?
感謝を修正しました。しかし、私の質問は誤解されたと思います。現在、bool値がデフォルトで "NO"が選択されています。代わりに、OptionLabelを選択する必要がある「選択」が必要です。 – StartingFromScratch
私は他の人にそれに答えるようにします - それらのための 'DropDown'モデルを提供する必要があります。 – Cymen
このコードでは、x => x.SelectedValueの型がboolなので、エンジンは最後に "false"を選択しなければならない"値が指定されたコレクションにあります。私は確信しています! – StartingFromScratch