jqGrid卡住加载?

时间:2009-09-24 08:04:28

标签: jquery asp.net-mvc jqgrid

我正在尝试将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'
                });

它击中了我的动作,但网格卡在加载,任何想法我做错了吗?

由于

3 个答案:

答案 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
我的问题解决了......