MultiSelectList构造函数

时间:2012-01-19 20:02:52

标签: model-view-controller

根据http://msdn.microsoft.com/en-us/library/dd470803.aspxMultiSelectList(IEnumerable, IEnumerable)构造函数包含两个参数:itemsselectedValues

文档并不完全明确,所以我只想澄清两点:

  1. selectedValues究竟是如何运作的?这个构造函数是否仅遍历集合并为每个元素设置.Selected = True
  2. 必须selectedValues成为items的子集吗?这是如何精确定义的(即只要它们的ToString值匹配)?
  3. 具体来说,我正在玩a jQuery multiselect plugin并且我正在尝试基本上在该插件的演示中做了什么(即初始化时某些元素已经填充了“选定的”列表)。

1 个答案:

答案 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中使用它。工作代码......