根据http://msdn.microsoft.com/en-us/library/dd470803.aspx,MultiSelectList(IEnumerable, IEnumerable)
构造函数包含两个参数:items
和selectedValues
。
文档并不完全明确,所以我只想澄清两点:
selectedValues
究竟是如何运作的?这个构造函数是否仅遍历集合并为每个元素设置.Selected = True
?selectedValues
成为items
的子集吗?这是如何精确定义的(即只要它们的ToString值匹配)?具体来说,我正在玩a jQuery multiselect plugin并且我正在尝试基本上在该插件的演示中做了什么(即初始化时某些元素已经填充了“选定的”列表)。
答案 0 :(得分:0)
HTML:
<%=Html.ListBoxFor(model => model.tempCategories, (MultiSelectList)(ViewData["Categories"]), new {@size = "5" })%>
控制器代码:
List<Categories> categoriesList = categories.Select();
ViewData["Categories"] = GenCategoryMultiList(categoriesList);
private System.Web.Mvc.MultiSelectList GenCategoryMultiList(List<TemplateCategories> entity)
{
entity = entity.OrderBy(e => e.CategoryName).ToList();
System.Web.Mvc.MultiSelectList selectList = new System.Web.Mvc.MultiSelectList(entity, "CategoryID", "CategoryName");
return selectList;
}
我在JQuery Multiselect中使用它。工作代码......