Es ist nicht möglich, die Eigenschaft SelectListItem.Value von string
in zu konvertieren. Wie erstelle ich eine einfache Ja/Nein-Option mit dem Wert true
/false
?SelectListItem mit booleschen Werten anstelle von Strings
private List<SelectListItem> getYNOptions()
{
List<SelectListItem> yn = new List<SelectListItem>();
yn.Add(new SelectListItem() {
Text = "Yes",
Value=true, // error
Selected = false
});
yn.Add(new SelectListItem()
{
Text= "No",
Value = false, // error
Selected = false
});
return yn;
}
public ActionResult Index(){
ViewBag.selectList = getYNOptions();
return View();
}
Ansicht
@Html.DropDownListFor(model => model.YesOrNo, new SelectList(ViewBag.selectList,"Value","Text"), "-- Select --")
Wie über einen Wechsel zu Radio Taste (n)? – Shyju
Die Eigenschaft 'Value' ist eine' Zeichenkette', also verwenden Sie 'Value =" False "' (oder verwenden Sie 'Boolean.ToString()'). Beachten Sie, dass es sinnlos ist, ein zweites identisches 'IEnumerable' in der Ansicht vom ersten zu erstellen. - Verwenden Sie einfach '@ Html.DropDownListFor (m => m.YesOrNo, (IEnumerable ) ViewBag.selectList," - Wählen Sie - ")' –