我在c#mvc5中使用select2。每当我在多个列表中选择一个角色时,我的所有值都将传递给控制器并显示为选定的假(即使我选择列表中的一个角色)。
这是我的观点
@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);
}
}
答案 0 :(得分:0)
我设法通过将数组int selectedRole
添加到我的模型和新的选择列表中来解决它。
@Html.DropDownListFor(u => u.selectedRole, new SelectList(Model.Roles, "Value", "Text", Model.selectedRole), new { @class = "select2-multiple form-control", @data_placeholder = "-- Please select your role(s) --", id = "ddlRole", name = "ddlRole[]", multiple = "multiple" })