Asp.net mvc 3 jqGrid:没有这样的方法:重置选择
我正在使用jqGrid的强类型帮助程序- 我不能强迫jqGrid对我的数据进行排序。单击标题中的箭头时,Firebug中出现以下错误: 未捕获的异常:jqGrid-没有此类方法:resetSelection 另外,当我单击行中的单元格时,我会得到: 未捕获的异常:jqGrid-没有这样的方法:setSelection 这是我的js代码: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
@{
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 };
}