Asp.net mvc 3 jqGrid:没有这样的方法:重置选择

Asp.net mvc 3 jqGrid:没有这样的方法:重置选择,asp.net-mvc-3,jqgrid,lib.web.mvc,Asp.net Mvc 3,Jqgrid,Lib.web.mvc,我正在使用jqGrid的强类型帮助程序- 我不能强迫jqGrid对我的数据进行排序。单击标题中的箭头时,Firebug中出现以下错误: 未捕获的异常:jqGrid-没有此类方法:resetSelection 另外,当我单击行中的单元格时,我会得到: 未捕获的异常:jqGrid-没有这样的方法:setSelection 这是我的js代码: @{ var grid = new Lib.Web.Mvc.JQuery.JqGrid.JqGridHelper<ViolationViewM

我正在使用jqGrid的强类型帮助程序-

我不能强迫jqGrid对我的数据进行排序。单击标题中的箭头时,Firebug中出现以下错误:

未捕获的异常:jqGrid-没有此类方法:resetSelection

另外,当我单击行中的单元格时,我会得到:

未捕获的异常:jqGrid-没有这样的方法:setSelection

这是我的js代码:

@{
      var grid = new Lib.Web.Mvc.JQuery.JqGrid.JqGridHelper<ViolationViewModel>("products",
      dataType: Lib.Web.Mvc.JQuery.JqGrid.JqGridDataTypes.Json,
      methodType: Lib.Web.Mvc.JQuery.JqGrid.JqGridMethodTypes.Post,
      pager: true,
      rowsNumber: 5,
      sortingName: "Id",
      sortingOrder: Lib.Web.Mvc.JQuery.JqGrid.JqGridSortingOrders.Asc,
      url: Url.Action("Violation", "Cabinet"),
      viewRecords: true,
      rowsList: new List<int>() { 5, 10, 20, 30, 50, 100 },
      autoWidth: true,
      loadOnce: true,
      rowsNumbers: true
    );
}

看起来像是客户端问题,您确定已经引用了所有必需的jqGrid JavaScript文件吗?@tpeczek:我已经引用了
jquery.jqGrid.min.js
grid.locale en.js
文件。我使用的是jqGrid和jQuery(1.9)的最新版本。出现了一些问题,因为
.browser
功能已从jQuery中删除,我包括
jQuery迁移插件
。你能测试一下吗?恐怕jQuery 1.9版可能是问题所在。jqGrid将在下一个主要版本-->之前不支持它。jQuery迁移插件可能不够。稍后我将尝试在这个设置中进行测试,但我几乎可以肯定Lib.Web.Mvc中没有任何错误。@tpeczek:我发现了错误。使用
jquery1.9
Migrate
插件都可以正常工作。jqGrid所在的视图通过ajax作为局部视图加载。此视图中包含jqGrid的所有文件。我已将此文件移动到布局文件,所有工作正常。我不知道为什么。你有什么建议吗?@tpeczek:还有一个问题。启用工具栏搜索时,如何指定
ignoreCase
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Violation(JqGridRequest request)
        {
            JqGridResponse response = new JqGridResponse()
                {
                    TotalRecordsCount = 7
                };
            response.Records.Add(new JqGridRecord<ViolationViewModel>("1", new ViolationViewModel
                {
                    Id = 1,
                    Name = "Test1"
                }));

            response.Records.Add(new JqGridRecord<ViolationViewModel>("2", new ViolationViewModel
            {
                Id = 2,
                Name = "Test2"
            }));

            response.Records.Add(new JqGridRecord<ViolationViewModel>("3", new ViolationViewModel
            {
                Id = 3,
                Name = "Test3"
            }));

            response.Records.Add(new JqGridRecord<ViolationViewModel>("4", new ViolationViewModel
            {
                Id = 4,
                Name = "Test4"
            }));

            response.Records.Add(new JqGridRecord<ViolationViewModel>("5", new ViolationViewModel
            {
                Id = 5,
                Name = "Test5"
            }));

            response.Records.Add(new JqGridRecord<ViolationViewModel>("6", new ViolationViewModel
            {
                Id = 6,
                Name = "Test6"
            }));

            response.Records.Add(new JqGridRecord<ViolationViewModel>("7", new ViolationViewModel
            {
                Id = 7,
                Name = "Test7"
            }));

            return new JqGridJsonResult() { Data = response };
        }