SelectListItem具有布尔值,而不是字符串

时间:2016-04-28 23:25:30

标签: asp.net-mvc html.dropdownlistfor selectlist selectlistitem

无法将SelectListItem.Value属性从string转换为Boolean。如何使用true / false的值创建简单的是/否选项?

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();
}

查看

 @Html.DropDownListFor(model => model.YesOrNo, new SelectList(ViewBag.selectList,"Value","Text"), "-- Select --")

1 个答案:

答案 0 :(得分:2)

Value的{​​{1}}属性类型为字符串。您不能为此分配布尔值。您可以对布尔值使用SelectListItem调用。

ToString()

或只是使用字符串值

new SelectListItem() { Text = "Yes",   Value=true.ToString(), Selected = false }