我Webgrid
在我的一个项目中使用,所有功能(添加、编辑、删除、详细信息)都运行良好。我正在使用 ajax post 方法来删除同一表单上的记录。
因此,当我简单地单击删除时,它会从数据库中删除记录。但是,当我第一次单击“类别名称”以显示该类别的详细信息,然后单击“删除”时,它什么也没做。
删除链接的 Click 事件此时不起作用。我不知道为什么会这样。
以下是我的看法:
@model IEnumerable<Demo.Models.CategoryModel>
@{
ViewBag.Title = "Category List";
}
@{
Demo.Models.CategoryModel category = new Demo.Models.CategoryModel();
}
@{
var gd = new WebGrid(Model, canPage: true, rowsPerPage: 5, selectionFieldName: "selectedRow", ajaxUpdateContainerId: "gridContent");
}
<div class="main">
<h2>
Category List</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<div id="gridContent">
@using (Html.BeginForm("Delete", null, FormMethod.Post, new { @class = "updateForm" }))
{
@gd.GetHtml(tableStyle: "tbl",
headerStyle: "",
alternatingRowStyle: "altRow",
selectedRowStyle: "selectRow",
mode: WebGridPagerModes.All,
columns: gd.Columns(
gd.Column("Category Name", format: (item) => item.GetSelectLink(item.Name)),
gd.Column("Description", "Description"),
gd.Column("ParentCategoryName", "Parent Category"),
gd.Column("", header: "", format: @<text>
@Html.ActionLink("Edit", "Edit", new { id = item.CategoryId }, new { @class = "edit" })
| <a href="JavaScript:void(0)" class="RemoveLink" data-id="@item.CategoryId" onclick = "return confirm('Do you want to Delete this Category?')">
Delete</a>
</text>, style: "last-item"
)
))
<div class="cat-dets">
@if (gd.HasSelection)
{
<h2>
Category Details</h2>
category = (Demo.Models.CategoryModel)gd.Rows[gd.SelectedIndex].Value;
<b>Category Id: </b> @category.CategoryId<br />
<b>Category Name: </b> @category.Name<br />
<b>Description</b> @category.Description<br />
<b>Parent Category</b> @category.ParentCategoryName<br />
}
</div>
}
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$(".RemoveLink").click(function () {
var recordToDelete = $(this).attr("data-id");
if (recordToDelete != '') {
$.post("/Category/Delete", { "id": recordToDelete },
function (data) {
if (data.status == "success") {
window.location.href = window.location.href;
}
});
}
});
});
</script>
如果我留下了一些东西,请帮助我..
谢谢
更新:
经过一番谷歌搜索后,我发现这可能是 webgrid Get Method 发布和我的表单的 Post Method 数据发布之间的问题。由于分页和排序后删除也不起作用。如果有人在 webgrid 中使用过 Form Post 方法,请帮助我。