2015-01-17 28 views
1

我想从ListBox发布选定的值回到控制器,但总是只有一个选定的值。MVC ListBox回发只有一个值

我的模型:

public IEnumerable<SelectListItem> RegionsList { get; set; } 
public string[] Regions { get; set; } 

我的观点:。

@Html.ListBoxFor(m => m.Regions, Model.RegionsList) 

林选择两个项目,以 “ID” 3和5 jQuery的$( “#区”)VAL()给我:

$("#Regions").val(); 
["3", "5"] 

但后经过我的模型只有:

"3" 

我想改变字符串[] IEnumerable但没有结果。发布到控制器时始终只有一个值。你有什么想法是什么问题?

+0

更改您的公共IEnumerable RegionsList {获取;组; }'属性到'公共MultiSelectList RegionsList {get;组; }' –

回答

0

我通常实现一个SelectList模型,如果我需要保留多个选定的项目。那么你可以使用这样的多选择列表:

@Html.ListBoxFor(
    x => x[i].SelectedItems, 
    new MultiSelectList(Model[i].Items, "Value", "Text", Model[i].SelectedItems) 
) 
+1

可能值得扩展你的代码以显示'i'来自哪里,即'for循环'。只是为了更清晰一点。 –

+0

我在编辑Devexpress GridView表时忘了添加这个Im。我刚开始没有devexpress的新项目,只有简单的模型,控制器和视图。一切都很好。所以模型devexpress模型绑定存在问题。 – paw3lx