Model view controller 多选列表构造函数

Model view controller 多选列表构造函数,model-view-controller,Model View Controller,根据,MultiSelectList(IEnumerable,IEnumerable)构造函数接受两个参数:items和selectedValues 文档并非完全明确,因此我只想澄清两点: selectedValues是如何工作的?此构造函数是否仅遍历集合并为每个元素设置.Selected=True selectedValues必须是项的子集吗?这是如何精确定义的(即只要它们的ToString值匹配) 具体地说,我正在玩并尝试做插件演示中正在做的事情(即“选定”列表在初始化时已经由某些元素填充)

根据,
MultiSelectList(IEnumerable,IEnumerable)
构造函数接受两个参数:
items
selectedValues

文档并非完全明确,因此我只想澄清两点:

  • selectedValues
    是如何工作的?此构造函数是否仅遍历集合并为每个元素设置
    .Selected=True
  • selectedValues
    必须是
    项的子集吗?这是如何精确定义的(即只要它们的ToString值匹配)
  • 具体地说,我正在玩并尝试做插件演示中正在做的事情(即“选定”列表在初始化时已经由某些元素填充)。

    HTML:

    <%=Html.ListBoxFor(model => model.tempCategories, (MultiSelectList)(ViewData["Categories"]), new {@size = "5" })%>
    
    model.tempCategories,(MultiSelectList)(ViewData[“Categories”]),新的{@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;
        }
    
    List categoriesList=categories.Select();
    ViewData[“Categories”]=GenCategoryMultiList(categoriesList);
    private System.Web.Mvc.MultiSelectList GenCategoryMultiList(列表实体)
    {
    entity=entity.OrderBy(e=>e.CategoryName.ToList();
    System.Web.Mvc.MultiSelectList selectList=new System.Web.Mvc.MultiSelectList(实体,“CategoryID”、“CategoryName”);
    返回选择列表;
    }
    
    我在jquerymultiselect中使用它。工作代码