2012-01-19 68 views
0

根据http://msdn.microsoft.com/en-us/library/dd470803.aspx,构造函数MultiSelectList(IEnumerable, IEnumerable)需要两个参数:itemsselectedValuesMultiSelectList构造函数

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

  1. 究竟如何selectedValues工作?这个构造函数是否仅遍历集合并为每个元素设置.Selected = True
  2. 必须selectedValuesitems的子集?这是如何定义的,恰恰(即只要它们的ToString值匹配)?

具体来说,我与a jQuery multiselect plugin玩,我试图基本上做的是在该插件的演示正在做(即“选择”列表已经被某些元素在初始化时填充)。

回答

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的多选。工作代码...