我在MVC5 Razor View中使用复选框,并使用ViewBag成功从Controller中检索复选框值,如下所示:
控制器:
public ActionResult Create()
{
ViewBag.RolesList = new SelectList(
this.RoleManager.Roles.ToList(), "Id", "Name");
return PartialView("_Create");
}
查看:
@model Identity.ApplicationGroup
@foreach (var item in (SelectList)ViewBag.RolesList)
{
<div class="checkbox">
<label>
<input type="checkbox" name="@item" value="@item.Text">
@item.Text
</label>
</div>
}
但是,我无法通过AJAX将复选框值传递给Controller,如下所示,而所有其他参数的发布没有任何问题。那么,我怎样才能将它们作为模型值发布?
查看:
function insert(event) {
var formdata = $('#frmCreate').serialize();
$.ajax({
type: "POST",
url: '@Url.Action("Insert", "GroupsAdmin")',
cache: false,
dataType: "json",
data: formdata
});
};
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Insert([Bind(Exclude = null)] ApplicationGroup
applicationgroup, params string[] selectedRoles)
{
...
}