ASP.NET MVC多选下拉列表

我使用以下代码让用户在表单上选择多个位置。

@Html.DropDownListFor(m => m.location_code, Model.location_type, new { @class = "form-control", @multiple = "multiple" }). 

location_code是List ,location_type是List填充了数据。

代码确实返回控制器中的选定值,但是当用户单击编辑按钮时,传递的对象不显示所选值,而是显示正常的初始化下拉列表,未选择任何内容。

我真正想要的是,一旦用户提交表单(包括多个选定的值),它就会转到用户确认细节是否正确的页面。如果没有,他按下编辑按钮,对象再次传递给控制器​​。阶段它应该显示选择的多个值。其他字段表现正常。

对此有何见解?

在你看来:

 @Html.ListBoxFor(m => m.location_code, Model.location_type) 

这就是你所需要的一切。 您正在使用ListBox控件,因此它已经是一个多选列表。

然后回到你的控制器,你可以得到这样的选定项目:

 [HttpPost] public string SaveResults(List location_code) { if (location_code!= null) { return string.Join(",", location_code); } else { return "No values are selected"; } }