我得到了错误
没有类型为“IEnumerable”的ViewData项具有“SelectedCategoriesIds”键。
我的型号代码:
public class NewsViewModel
{
public int NewsId { get; set; }
public string NewsTitle { get; set; }
public string NewsBody { get; set; }
public System.DateTime NewsDate { get; set; }
public string NewsImagePath { get; set; }
public HttpPostedFileBase NewsImageFile { get; set; }
public int[] SelectedCategoriesIds { get; set; }
}
我在Controller中的代码:
var list = db.Categories.ToList();
ViewBag.CategoryList = from c in list
orderby c.CategoryName
select new SelectListItem
{
Value = c.CategoryId.ToString(),
Text = c.CategoryName.Trim()
};
在剃刀中:
@Html.DropDownListFor(model => model.SelectedCategoriesIds,
(IEnumerable<SelectListItem>)ViewBag.CategoryList,
new
{
id = "dropdownOne",
@class = "form-control",
multiple = "true"
}
)
答案 0 :(得分:0)
DropDownListFor仅支持一个选择。看起来你需要一个CheckBoxListFor,因为它有多种选择。
您可以查看我的小nuget包CheckBoxList.Mvc,它为您提供CheckBoxListFor
https://github.com/stephenzeng/CheckBoxList.Mvc
目前它不支持int [],但我现在要添加它。
答案 1 :(得分:0)
对于多个选择,您可以使用