次のようなプロパティを持つモデルがあります。
[Required]
public int SingleSelect { get; set; }
コントローラーで SelectList を設定し、それをビューバッグに渡すよりも
public ActionResult Index()
{
ViewBag.SingleSelectList = new SelectList(new[]
{
new {ID="0",Name="-- Select --"},
new {ID="1",Name="Select 1"},
new{ID="2",Name="Select 2"},
new{ID="3",Name="Select 3"},
},
"ID", "Name", 0);
return View();
}
次に、View() で、次を使用して素敵なドロップダウン ボックスをレンダリングします。
@Html.LabelFor(obj => obj.SingleSelect, new { @class = "control-label"})
@Html.DropDownListFor(obj => obj.SingleSelect, ViewBag.SingleSelectList as SelectList)
@Html.ValidationMessageFor(obj => obj.SingleSelect)
<button class="btn btn-primary" type="submit">Validate!</button>
ユーザーがフォームの送信時に選択を行っていない場合 (オプション "-- Select --" のまま)、エラーを表示して検証を機能させるにはどうすればよいですか?