在视图中我有一个单击时搜索的按钮,我想用新的parammater重新加载数据。 以下是我的剧本
function SearchClick() {
var byer = $('#cbbSearch').val();
var start = $('#txtDate').val();
var end = $("#txtEndDate").val();
var search = $("#txtFind").val();
myJqgrid.jqGrid('setGridParam', { postData: { byer: byer, start: start, end: end, search: search } }).trigger('reloadGrid');
}
我在创建网格上的网址是:
url: '/UIControl/SearchList?byer=' + byer + '&start=' + start + '&end=' + end + '&search=' + search
但是在Controller中,值start,end,search总是为null,只有byer值为true。我不知道为什么? 以下是我的控制器
public ActionResult SearchList(string byer = "---", string start = "", string end = "", string search = "")
{
List<StyleSearch> lisData = SearchStyle(byer, start, end, search);
}
答案 0 :(得分:0)
首先看你的代码片段看起来很好。可能是其他一些问题,尝试使用浏览器开发人员控制台(Inspect Element)这可能会显示一些javascript错误(如果有的话)。
还有另一种方法可以将表单数据发布回服务器,我已经在我的一个Web应用程序中使用了它,直到它的工作正常,没有任何问题。请试一试,看看是否有效。
myJqgrid.jqGrid('setGridParam', {
postData: {
byer: function () {
return $("#cbbSearch").val();
},
start: function () {
return $("#txtDate").val();
},
end: function () {
return $("#txtEndDate").val();
},
search: function () {
return $("#txtFind").val();
},
},
}).trigger('reloadGrid');
注意:由于jQGrid是免费版本,因此网络上可以使用许多分支,例如Trirand,Gurrido和Oleg。如果托尼托莫夫(Trirand)正式版本,我使用的那个。