MVC ListBox 只回发一个值

MVC ListBox Posting back only one value

我正在尝试 post 从 ListBoxFor 中选择值返回控制器,但总是只有一个选择值。

我的模特:

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

我的看法:

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

我选择了两个项目,"Id" 3 和 5。Jquery $("#Regions").val() 给我:

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

但在 post 之后我的模型只有:

"3" 

我试图将 string[] 更改为 IEnumerable 但没有结果。 post发送到控制器时,它始终只有一个值。你知道问题出在哪里吗?

如果我需要保留多个 selected 项目,我通常会实现 SelectList 模型。然后你可以像这样使用多 select 列表:

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

可能我找到了解决方案。 devexpress模型绑定有问题: https://www.devexpress.com/Support/Center/Question/Details/T124733