我正在尝试将JQuery插件jqGrid与asp .net mvc app一起使用。
我在jqGrid文档中将以下format中的JSON对象传递给网格:
{
"total":1,
"page":1,
"records":10,
"rows":
[{
"i":1,"cell":["foo","bar"]},
{"i":2,"cell":["foo1","barr"]},
{"i":3,"cell":["foo2","barrr"]}]
}
并设置了jqGrid:
jQuery("#searchResults").jqGrid({
url: '/Customer/SearchResults/',
datatype: 'json',
mtype: 'GET',
colNames: ['Surname', 'Forename'],
colModel: [
{ name: 'Surname', index: 'Surname', width: 200, align: 'left' },
{ name: 'Forename', index: 'Forename', width: 200, align: 'left'}],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [5, 10, 20, 50],
sortname: 'Id',
sortorder: "desc",
viewrecords: true,
imgpath: '/scripts/themes/coffee/images',
caption: 'My first grid'
});
它击中了我的动作,但网格卡在加载,任何想法我做错了吗?
由于
答案 0 :(得分:6)
如果网格“卡在加载状态”,通常意味着网格未收到响应或响应包含数据,则无法用于填充网格。首先要看的是响应本身,在Firebug的Net选项卡或Fiddler中。确保它实际上是JSON,而不是500错误或HTML错误消息。其次,他们非常注意JavaScript错误。您将需要使用Firebug或IE 8的调试器(您必须手动打开)才能捕获错误,否则它们可能会被隐藏起来; JavaScript错误对用户来说并不明显。然后,您可以跟踪调用堆栈,找出网格不喜欢您的数据的原因。
也就是说,手动执行此操作有点痛苦,这就是为什么I wrote extension methods to create appropriately-formatted data for the grid from any IQueryable。
答案 1 :(得分:0)
按照Craig Stuntz的建议,我在Firebug中看到我得到了500错误。对我来说,它最终成为一个糟糕的数据库连接字符串。我使用在Codeplex上发布的MVC 3解决方案作为模板。解决方案由多个项目组成,其中两个项目具有连接字符串。我忽略了其中一个。我一直在修改IIS应用程序池设置和数据库权限,直到找到其他连接字符串。
希望这对某人有帮助。
答案 2 :(得分:-1)
有时它会在js文件中发生并循环卡住, 我想你应该试试这个
重复项:false
我的问题解决了......