searchString,searchField和searchOper在ASP.NET应用程序中从jqGrid返回为空

时间:2012-06-28 14:46:11

标签: search jqgrid jqgrid-asp.net

我正在创建一个asp.net mvc应用程序并将数据加载到jqgrid中,并完全分页和排序。我正在尝试实现搜索并已实现代码来显示 搜索窗口;但是当我单击“查找”按钮时,我无法检索searchString,searchField和searchOper,因为它们返回为空。我确信我需要在javascript中实现postdata代码,但是无法实现一个。谁能指出我正确的方向?

另外,关于如何在控制器动作中实现搜索的任何想法??

这就是我目前在javascript中的内容:

 <script type="text/javascript">
    $(function () {
          $("#list").jqGrid({
              url: '/Home/GetData/',
                    datatype: 'json',
                    mtype: 'GET',
                    colNames: ['ID', 'NAME'],
                    colModel: [
      { name: 'ID', index: 'ID', width: 250, align: 'center', searchoptions: { sopt: ['eq', 'ne', 'cn']} },
      { name: 'NAME', index: 'NAME', width: 250, align: 'center',  searchoptions: { sopt: ['eq', 'ne', 'cn']} }],
                    pager: jQuery('#pager'),
                    rowNum: 10,
                    rowList: [5, 10, 20, 30, 40, 50],
                    sortname: 'ID',
                    sortorder: "desc",
                    viewrecords: true,
                    height: '100%'
                    });

                $("#list").jqGrid('navGrid', '#pager', { edit: true, add: true, del: true, search: true},
                                                        {},
                                                        {},
                                                        {},
                                                        {closeOnEscape: true, multipleSearch: true, closeAfterSearch: true},
                                                        {});


            }); 
</script>

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您使用multipleSearch: true搜索选项。它允许创建更强大的查询,但它使用另一种格式的参数。将使用一个searchString参数代替三个参数searchFieldsearchOperfilters,这些参数以JSON字符串的形式表示有关过滤器的完整信息。有关详细信息,请参阅the documentation

例如,在the answer中,您将找到一个代码,演示如何解析filters参数,并在使用实体框架访问数据库时创建相应的数据过滤。 / p>