选择列表默认多选

时间:2016-08-25 06:23:02

标签: c# asp.net-mvc razor html-helper

如何根据之前的搜索设置默认值?

@Html.DropDownListFor(m => m.Filter.FossilTypes,
   new SelectList(Model.Filter.FossilsTypesOptions, "Name", "Name"),
   new { 
       @multiple = "multiple", 
       @placeholder = "Choose one...", 
       @class = "SlectBox" 
})    

我试过这个

@Html.DropDownListFor(m => m.Filter.FossilTypes,
   new SelectList(Model.Filter.FossilsTypesOptions, "Name", "Name", Model.Filter.FossilTypesDefault),
   new { 
       @multiple = "multiple", 
       @placeholder = "Choose one...", 
       @class = "SlectBox" 
})    

Model.Filter.FossilTypesDefaultIEnumerableArray之间切换List,但没有效果。

1 个答案:

答案 0 :(得分:0)

您应该使用ListBoxFor助手代替DropDownListFor来获取多个选择值,并将选定的FossilTypesDefault作为@Html.ListBoxFor助手的第一个参数传递给您:

@Html.ListBoxFor(m => m.Filter.FossilTypesDefault, 
   new SelectList(Model.Filter.FossilsTypesOptions, "Name", "Name"),
   new { 
      @placeholder = "Choose one...", 
      @class = "SlectBox" 
})

ListBoxFor生成multiple属性。

在你的情况下,

FossilTypesDefault应为string[]List<string>