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 行 西德克斯 升序
我究竟做错了什么?