gpt4 book ai didi

jquery - jqGrid 删除一行

转载 作者:行者123 更新时间:2023-12-01 07:31:03 24 4
gpt4 key购买 nike

我已经创建了网格,并希望使用网格的默认行为来删除一行。

这是我的网格设置代码:

$("#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。如下图所示

Error screenshot

我做错了什么?

编辑:

我已将以下代码添加到我的 jqGrid 初始化

// 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
});

但我仍然遇到同样的错误...

最佳答案

也许您应该在 serializeDelData 内部使用 JSON.stringify (来自 json2.js )。您没有发布需要删除的 Web 方法 DeleteCustomer 的原型(prototype),但您的问题可能可以通过以下代码解决:

serializeDelData: function(postdata) {
return JSON.stringify({customerID: postdata.id});
}

使用 ASMX 服务时更常见的问题。可能需要定义所调用的 Web 方法的所有参数(请参阅 here 示例)。

ajaxDelOptions: { contentType: "application/json"} 参数的使用也大多是必需的。

使用 Fiddler 会很有帮助。或Firebug捕获并分析 HTTP 流量。

关于jquery - jqGrid 删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com