如何在mvc中重载jqgrid上发布muilti参数

时间:2017-07-07 08:03:06

标签: asp.net-mvc jqgrid

在视图中我有一个单击时搜索的按钮,我想用新的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);
    }

1 个答案:

答案 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是免费版本,因此网络上可以使用许多分支,例如TrirandGurridoOleg。如果托尼托莫夫(Trirand)正式版本,我使用的那个。