我正在尝试使用带有asp .net mvc应用程序的JQuery插件jqGrid.
我正在以jqGrid文档中的格式传递网格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' });
它击中我的行动,但网格卡在加载,任何想法我做错了?
谢谢
如果网格"卡在加载",这通常意味着网格没有收到响应,或者响应包含数据,则无法用于填充网格.首先要看的是响应本身,在Firebug的Net选项卡或Fiddler中.确保它实际上是JSON,而不是500错误或HTML错误消息.其次,他们非常注意JavaScript错误.您将需要使用Firebug或IE 8的调试器(您必须手动打开)才能捕获错误,否则它们可能会被隐藏起来; JavaScript错误对用户来说并不明显.然后,您可以跟踪调用堆栈以找出网格不喜欢您的数据的原因.
也就是说,手动执行此操作有点痛苦,这就是为什么我编写扩展方法来从任何IQueryable为网格创建适当格式的数据.