ASP.NET MVC多选下拉列表

时间:2014-07-29 10:32:40

标签: c# jquery asp.net .net asp.net-mvc

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

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

location_code是List<int>,location_type是List<SelectListItem>,其中包含数据。

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

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

对此有何见解?

1 个答案:

答案 0 :(得分:25)

在您看来:

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

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

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

[HttpPost]
public string SaveResults(List<int> location_code)
{

    if (location_code!= null)
    {
        return string.Join(",", location_code);
    }
    else
    {
        return "No values are selected";
    }
}