我已经创建了网格,并希望使用网格的默认行为来删除行。
这是我的网格设置代码:
$("#grid").jqGrid('navGrid', '#grid_pager',
{ add: true, addtitle: 'Add Customer',
edit: true, edittitle: 'Edit Customer',
del: true, deltitle: 'Delete Customer',
refresh: true, refreshtitle: 'Refresh data',
search: true, searchtitle: 'Advanced search filters',
addfunc: addReferent, editfunc: editReferent
},
{}, // default settings for edit
{}, // default settings for add
{ // define settings for Delete
mtype: "post",
reloadAfterSubmit: true,
url: wsBaseUrl + 'CustomerService.asmx/DeleteCustomer',
resize: false,
serializeDelData: function(postdata) {
return JSON.stringify({ customerID: postdata.id });
}
},
{ // define settings for search
closeOnEscape: true, multipleSearch: true, closeAfterSearch: true
},
{}
);
这是服务器上定义的Web服务方法
[WebMethod]
public OperationResult Deletecustomer(string customerID)
{
}
但不幸的是,当我点击删除按钮并在确认窗口中单击确定时,我收到错误说404.如下图所示
我做错了什么?
修改
我已将以下代码添加到我的jqGrid Initialization
// Set defaults value for jqGrid
$.jgrid.defaults = $.extend($.jgrid.defaults, {
mtype: 'post',
datatype: 'json',
jsonReader: {
root: "d.Rows",
page: "d.Page",
total: "d.Total",
records: "d.Records",
repeatitems: false,
userdata: "d.UserData",
id: "Id"
},
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
ajaxDelOptions: { contentType: 'application/json; charset=utf-8' },
serializeDelData: function (postData) {
return JSON.stringify(postData);
},
loadui: "block",
multiboxonly: true,
rowNum: 25,
rowList: [25, 50, 100],
altRows: true,
altclass: 'ui-priority-secondary',
autoencode: true,
autowidth: true,
rownumbers: true,
rownumWidth: 30,
gridview: true,
hoverrows: true,
viewrecords: true
});
但我仍然得到同样的错误......
答案 0 :(得分:4)
您可能只需在JSON.stringify
内使用serializeDelData
(来自json2.js)。您没有发布需要删除的网络方法DeleteCustomer
的原型,但可能使用以下代码修复您的问题:
serializeDelData: function(postdata) {
return JSON.stringify({customerID: postdata.id});
}
使用ASMX服务时的一个常见问题。可能需要定义所调用的Web方法的所有参数(参见here示例)。
主要还需要使用ajaxDelOptions: { contentType: "application/json" }
参数。