【发布时间】:2016-05-23 06:59:37
【问题描述】:
我在 c# mvc5 中使用 select2。每当我在多个列表中选择一个角色时,我的所有值都会传递给控制器并显示为选中的 false(即使我选择了列表中的角色之一)。
这是我的看法
@Html.DropDownListFor(u => u.RoleId, Model.Roles, new { @class = "select2-multiple form-control", @data_placeholder = "-- Please select your role(s) --", id = "ddlRole", name = "ddlRole", multiple = "multiple"})
这是我的模型
public IEnumerable<SelectListItem> Roles { get; set; }
这是我的控制器
foreach (var roles in model.Roles)
{
if (roles.Selected == true) {
Database.CreateMultipleRoleForUser(userid, model, roles.Value);
}
}
【问题讨论】:
-
不清楚你在做什么。该控制器代码是获取方法还是发布方法?
DropDownListFor()用于创建单选,您似乎想要多选,在这种情况下使用ListBoxFor()。它是您绑定到 (RoleId) 的属性的值,它决定了选择的内容,因此RoleId需要是 typeofIEnumerable<int>并且您在将模型传递给视图之前在 GET 方法中设置它的值跨度>
标签: c# asp.net-mvc-5 selectlistitem