Asp.net mvc 多选下拉列表在ASP MVC3视图中不起作用

Asp.net mvc 多选下拉列表在ASP MVC3视图中不起作用,asp.net-mvc,asp.net-mvc-3,razor,multi-select,html.listboxfor,Asp.net Mvc,Asp.net Mvc 3,Razor,Multi Select,Html.listboxfor,我正在尝试学习如何在我的ASP MVC3站点中使用MultiSelectList,但没有得到想要的结果。我可以显示我想显示的四个值,但是一次只能单击一个。同样,这是我第一次尝试,所以如果你看到我做错了什么,请告诉我 查看模型 //Create as array to hold multiple values [DisplayName("Channel Code")] public string[] searchChannelCode { get; set; } //Drop down list

我正在尝试学习如何在我的ASP MVC3站点中使用
MultiSelectList
,但没有得到想要的结果。我可以显示我想显示的四个值,但是一次只能单击一个。同样,这是我第一次尝试,所以如果你看到我做错了什么,请告诉我

查看模型

//Create as array to hold multiple values
[DisplayName("Channel Code")]
public string[] searchChannelCode { get; set; }

//Drop down list objects
public IEnumerable<SelectListItem> ChannelCodes { get; set; }
查看

@Html.LabelFor(model => model.searchChannelCode)
@Html.ListBoxFor(model => model.searchChannelCode, 
                        new MultiSelectList(Model.ChannelCodes, "Text", "Value"))

结果如下:

您可以使用SHIFT键选择多个值是的,您可以在网页上选择多个值,但它们仍然没有发送回控制器。如果同时选择了
H
K
,则只发送所选的最高值(即仅发送
H
)。POST controller方法看起来如何?别担心,这是我的错误。它的工作原理与您提到的一样。然而,这并不完全是我要寻找的。是否总是需要点击“Shift”或“Control”按钮如果您使用的是
MultiSelectList
,那么选择两个值?我想是的。也许您可以使用一些jQuery multiselect库来解决这个问题。或者更好地使用复选框。
@Html.LabelFor(model => model.searchChannelCode)
@Html.ListBoxFor(model => model.searchChannelCode, 
                        new MultiSelectList(Model.ChannelCodes, "Text", "Value"))