【发布时间】:2020-01-27 12:39:30
【问题描述】:
我正在使用 asp.net mvc,我正在尝试使用 Ckeckbox 删除多条记录,但是当我选择记录并单击删除按钮时,它需要 Id=Null 。 请给我一些解决方案
-
以下是我的索引视图
<h2>Index</h2> <input type="button" id="Delete" value="Delete Selected Employee" /> <p> @Html.ActionLink("Create New", "Create") </p> @using (Html.BeginForm("BatchDelete", "Employee", FormMethod.Post, new { enctype = "multipart/form-data" })) { <table class="table"> <tr> <th><input type="checkbox" id="checkAll" "All"</th> <th> @Html.DisplayNameFor(Model => Model.Id) </th> <th> @Html.DisplayNameFor(model => model.FirstName) </th> <th> @Html.DisplayNameFor(model => model.LastName) </th> <th> @Html.DisplayNameFor(model => model.Gender) </th> <th> @Html.DisplayNameFor(model => model.DOB) </th> <th> @Html.DisplayNameFor(model => model.Hobby) </th> <th> @Html.DisplayNameFor(model => model.Photo) </th> <th> @Html.DisplayNameFor(model => model.City) </th> <th></th> </tr> @foreach (var item in Model) { <tr> <td> <input type="checkbox" class="checkBox" value="@item.Id" /> </td> <td> @Html.DisplayFor(modelItem => item.Id) </td> <td> @Html.DisplayFor(modelItem => item.FirstName) </td> <td> @Html.DisplayFor(modelItem => item.LastName) </td> <td> @Html.DisplayFor(modelItem => item.Gender) </td> <td> @Html.DisplayFor(modelItem => item.DOB) </td> <td> @Html.DisplayFor(modelItem => item.Hobby) </td> <td> <img width="50" height="50" src="@item.Photo" /> </td> <td> @Html.DisplayFor(modelItem => item.City) </td> <td> @Html.ActionLink("Edit", "Edit", new { id = item.Id }) | @Html.ActionLink("Detail", "Detail", new { id = item.Id }) | @Html.ActionLink("Delete", "Delete", new { id = item.Id }) </td> </tr> } </table> <script> $(document).ready(function () { $("#checkAll").click(function () { $(".checkBox").prop('checked', $(this).prop('checked')); }); $("#Delete").click(function () { var selectedIDs = new Array(); $('input:checkbox.checkBox').each(function () { if ($(this).prop('checked')) { selectedIDs.push($(this).val()); } }); var options = {}; options.url = "/Employee/Delete"; options.type = "POST"; options.data = JSON.stringify(selectedIDs); options.contentType = "application/json"; options.dataType = "json"; options.success = function (msg) { alert(msg); }; options.error = function () { alert("Error while deleting the records!"); }; $.ajax(options); }); }); </script> }
当我运行项目消息时:“删除记录时出错!”显示
-
以下是我的删除操作控制器
[HttpGet] public ActionResult Delete(int? Id) { if (Id == null) { return View(); } Employee emp = objemployee.GetEmployeeData(Id); if (emp == null) { return View(); } return View(emp); } [HttpPost, ActionName("Delete")] public ActionResult DeleteConfirmed(int? Id) { objemployee.DeleteEmployee(Id); return RedirectToAction("Index"); }
【问题讨论】:
标签: c# json ajax asp.net-mvc