【发布时间】:2015-08-11 07:17:45
【问题描述】:
我在我的 asp.net mvc 应用程序中使用 jquery 数据表。我只想在用户按下特定行的删除按钮时启用确认弹出窗口。我在互联网上找不到任何可行的解决方案。下面是我在剃刀视图中的数据表脚本。
Razor 视图脚本
<script type="text/javascript">
$('#example').dataTable({
//scrollY: "300px",
//scrollX: false,
//scrollCollapse : true,
//"iDisplayLength": 100,
//"iDisplayStart": 0,
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "/UsersAPI/LoadUsers",
//"sServerMethod": "POST",
//"sAjaxDataProp": "",
"aoColumns": [
{ "mData": "Id", "sWidth": "10%" },
{ "mData": "Email", "sWidth": "30%" },
{ "mData": "FirstName", "sWidth": "25%" },
{ "mData": "LastName", "sWidth": "25%" },
{ "mData": "RoleName", "sWidth": "40%" },
{ "mData": "AccountName", "sWidth": "40%" },
{
"mRender": function (data, type, row) {
//return data + ' ' + row[3];
return '<a href=' +
'@Url.Action("Edit", "Users")?Email=' + row.Email +
'>Edit</a>';
}
},
{
"mRender": function (data, type, row) {
//return data + ' ' + row[3];
return '<a href=' +
'@Url.Action("Delete", "Users")?Id=' + row.Id +
'>Delete</a>';
}
}
]
});
【问题讨论】:
-
建议您考虑将链接更改为表单。删除操作正在更改数据,因此它应该是 POST,而不是 GET。您不希望将其添加到浏览器历史记录中,让用户只需在地址栏中键入即可。充其量你会进行不必要的数据库调用来删除不存在的东西,最坏的情况是它可能会根据你的代码抛出异常。
标签: jquery asp.net-mvc razor datatables