从下拉列表MVC 5传回多个选定值

时间:2015-04-03 03:28:33

标签: c# asp.net asp.net-mvc asp.net-mvc-5 multipleselection

我有以下属性

public SelectList ListActivities { get; set; } // Will load all hobbies i,e football, golf etc and will be displayed in a dropdown

public List<string> SelectedActivities { get; set; } // Trying to set with multiple selected values.

这是我的观点。

 <div class="col-lg-11">
   @Html.DropDownListFor(m => m.UserDetails.SelectedActivities, Model.UserDetails.ListActivities, "Please Select", new { @class = "form-control", multiple = "multiple", id = "listActivities" })
 </div>

我遇到的问题是当我从ActivitiesDropdown中选择了多个选项并在我的页面上按提交并返回控制器时,SelectedActivities为空。

请问有人对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

对于多选,您应该使用Html.ListBoxFor而不是Html.DropDownListFor,因为Html.DropDownListFor会返回单选select元素。

因此,只需将您的视图更改为:

即可
 <div class="col-lg-11">
   @Html.ListBoxFor(m => m.UserDetails.SelectedActivities, Model.UserDetails.ListActivities, "Please Select", new { @class = "form-control", id = "listActivities" })
 </div>