Asp.net mvc 4 如何将列表框(选择size=“n”)项值绑定到IEnumerable

Asp.net mvc 4 如何将列表框(选择size=“n”)项值绑定到IEnumerable,asp.net-mvc-4,ienumerable,html-select,model-binding,Asp.net Mvc 4,Ienumerable,Html Select,Model Binding,我的表单上有一个select元素。我用javascript填充它的内容。视图模型有一个称为IEnumerable类型的Fruits的属性。提交表单时是否可以将此select绑定到该属性?为了清楚起见,假设有一个表单的select大小为5,同时为空。然后,我使用java脚本将一些项目选项添加到该选择中: <select size="5"> <option value="1">Apple</option> <option value="2">

我的表单上有一个select元素。我用javascript填充它的内容。视图模型有一个称为IEnumerable类型的Fruits的属性。提交表单时是否可以将此select绑定到该属性?为了清楚起见,假设有一个表单的select大小为5,同时为空。然后,我使用java脚本将一些项目选项添加到该选择中:

 <select size="5">
  <option value="1">Apple</option>
  <option value="2">Banana</option>
  <option value="3">Grape</option>
  <option value="4">Pinapple</option>
 </select>

提交表单时,我希望Fruits属性包含上述选项值。怎么做到的?我想不出任何方法来做这件事。

终于找到了,但还是少了一些东西。为了克服在视图上获取空列表框的第一个问题,我执行了以下操作:

 ListBoxFor(x=>x.Fruits,new List<SelectListItem>(),new{style="width:160px;display:block"})
这将在视图中显示一个空窗口。然后我用javascript将一些项目添加到列表框中。确切地说,是向select添加选项。最大的痛苦开始于这之后。提交表单时,Fruits属性为null,因此listbox项未绑定。经过大量挖掘,我发现为了让列表框项目绑定到某个集合,需要选择所需的项目。因此,即使列表框中有10个项目,它们也不会绑定到我的水果模型属性,除非我在提交之前选择它们。选择添加的项目后,“水果”属性包含相应的值。但是,我讨厌在添加项目后必须选择所有项目。我知道这可以用javascript自动完成,但最好用其他方法绕过它