jqGrid 不会将 postdata 发送到我的控制器。我在stackoverflow上尝试了所有提供的解决方案,显然我在某处犯了错误。所以这里是代码:
功能刷新网格(){ alert('CompanyNamePart=' + $("#CompanyNamePart").val()); // 检查这是否是正确的值 $("#list").trigger('reloadGrid'); 返回假; } $(函数(){ var grid = jQuery("#list").jqGrid({ 数据类型:'json', 标题:“交易记录”, 发布数据: { CompanyNamePart: function () { return $("#CompanyNamePart").val(); }, UsernamePart: function () { return $("#UsernamePart").val(); }, }, url: '@Url.Action("GetTransactionLogData")', mtype: 'GET', colNames: ['Ref.', 'TradeDate', 'Status'], col型号:[ {名称:'参考',索引:'参考',宽度:'60'}, {名称:'TradeDate',索引:'TradeDate',宽度:'70'}, {名称:'状态',索引:'状态',宽度:'80'} ], 寻呼机:$('#pager'), 行数:10, 高度:'100%' }); });
在控制器方面,我有简单的代码:
[HttpGet] 公共 ActionResult GetTransactionLogData(string sidx, string sord, int page, int rows, string CompanyNamePart, string UsernamePart) { 返回 Json(null); }
在调试模式下,当我通过单击按钮调用 refreshGrid() 时,我会收到一个警报,以确认它正确读取了文本字段的值,然后刷新网格。我收到了控制器的调用,但 CompanyNamePart 和 UsernamePart 变量的值都是空的,即使我填写了它们。
我用另一种方法尝试了 postdata 部分的另一种解决方案,首先我创建了返回所需值的函数并将它们放在网格的 postdata 部分中:
函数 getCompanyNamePartVal() { 返回 $("#CompanyNamePart").val(); } 函数 getUsernamePartVal() { 返回 $("#UsernamePart").val(); } ...在 jqgrid 定义中 发布数据: { 公司名称部分:getCompanyNamePartVal(), 用户名部分:getUsernamePartVal(), },
但没有成功。
当我检查 Firebug 时,我可以看到 jqGrid 没有发送 postdata 值:
获取 Firebug 捕获的参数 _ 1340696638960 _搜索错误 nd 1340696638955 第 1 页 第 10 行 西德克斯 升序
我究竟做错了什么?