asp.net MVC 3下拉列表中的多个选择

asp.net MVC 3下拉列表中的多个选择,asp.net,asp.net-mvc,asp.net-mvc-3,razor,html.dropdownlistfor,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Razor,Html.dropdownlistfor,我们可以从razor dropdownlist控件中选择多个项目吗。i、 e代表 @Html.DropDownListFor(m=>m.Country,CountryList作为SelectList,“--Select--”您只需添加一个新的{“multiple”=“multiple”}作为函数的最后一个参数-这将呈现一个multiselect。您可以尝试类似的方法 @Html.ListBoxFor(m=>m.Country, new MultiSelectList(CountryList

我们可以从razor dropdownlist控件中选择多个项目吗。i、 e代表


@Html.DropDownListFor(m=>m.Country,CountryList作为SelectList,“--Select--”

您只需添加一个
新的{“multiple”=“multiple”}
作为函数的最后一个参数-这将呈现一个multiselect。

您可以尝试类似的方法

@Html.ListBoxFor(m=>m.Country, new MultiSelectList(CountryList as SelectList, "CountryID", "Select"))
给定一个项目列表(在本例中为Id和Name字段),您可以从SelectListItem列表开始,如下所示:

List<SelectListItem> Choices = Items.Select(x => new SelectListItem { Value = Convert.ToString(x.Id).Trim(), Text = x.Name }).ToList();

@Html.ListBox("ListBoxIds", new MultiSelectList(Choices, "Value", "Text"))
List Choices=Items.Select(x=>new SelectListItem{Value=Convert.ToString(x.Id).Trim(),Text=x.Name}).ToList();
@ListBox(“ListBoxID”,新的多选列表(选项,“值”,“文本”))

在控制器中,您将获得ListBoxID作为所选ID的列表。

我认为您应该使用“@Html.ListBoxFor”,为什么不使用一个看起来像下拉列表的选择列表但是我将如何获得提交后的所有选定值谢谢。我已经解决了多重选择的问题,但如何在控制器中检索所有选定的值这确实会创建一个多重选择框,但不允许您在POST上保留选定的选项。如果控制器返回模型错误,则用户将丢失其选择的选项。