我正在使用以下代码让用户在表单上选择多个位置。
@Html.DropDownListFor(m => m.location_code, Model.location_type, new { @class = "form-control", @multiple = "multiple" }).
location_code 是一个 List<int>
location_type 是 List<SelectListItem>
填充数据。
代码确实返回了 Controller 中的选定值,但是当用户单击编辑按钮时,传递的对象不显示选定值,而是显示正常的初始化下拉列表,没有任何选择。
我真正想要的是,一旦用户提交了表单(包括多个选定的值),它就会转到一个页面,用户在该页面确认详细信息是否正确。如果不正确,他将按下编辑按钮,然后将对象再次传递给 Controller .在这个阶段它应该显示选择的多个值。其他字段表现正常。
对此有何见解?
最佳答案
在你看来:
@Html.ListBoxFor(m => m.location_code, Model.location_type)
这就是您所需要的。您使用的是 ListBox 控件,因此它已经是一个多选列表。
然后回到您的 Controller 中,您可以像这样获取选定的项目:
[HttpPost]
public string SaveResults(List<int> location_code)
{
if (location_code!= null)
{
return string.Join(",", location_code);
}
else
{
return "No values are selected";
}
}
关于c# - ASP.NET MVC 多选下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25013223/