当前位置:  开发笔记 > 后端 > 正文

使用ASP.Net和JSON格式实现jQuery的jgGrid

如何解决《使用ASP.Net和JSON格式实现jQuery的jgGrid》经验,为你挑选了1个好方法。

有没有人能够实现JQuery网格插件,jqGrid?我正在尝试实现JSON分页,我觉得我已经接近了,但我也被无关紧要的细节所淹没.如果有人可以发布一些示例代码,我将非常感激.



1> nshaw..:

在我尝试为我的项目执行此操作时找到了您的帖子.我搞定了.对于将来需要它的任何人来说,jqGrid将无法与JSON和ASP.NET一起开箱即用.你需要对grid.base.js进行一些小的修改.在第829行附近,用以下内容替换json案例部分:

case "json":
    gdata = JSON.stringify(gdata); //ASP.NET expects JSON as a string
    $.ajax({ url: ts.p.url, 
             type: ts.p.mtype, 
             dataType: "json", 
             contentType: "application/json; charset=utf-8", //required by ASP.NET
             data: gdata, 
             complete: function(JSON, st) { if (st == "success") { addJSONData(cleanUp(JSON.responseText), ts.grid.bDiv); if (loadComplete) { loadComplete(); } } }, 
             error: function(xhr, st, err) { if (loadError) { loadError(xhr, st, err); } endReq(); }, 
             beforeSend: function(xhr) { if (loadBeforeSend) { loadBeforeSend(xhr); } } });
    if (ts.p.loadonce || ts.p.treeGrid) { ts.p.datatype = "local"; }
    break;

然后添加以下功能:

function cleanUp(responseText) {
    var myObject = JSON.parse(responseText);  //more secure than eval
    return myObject.d;  //ASP.NET special
}

您还需要包含JSON解析器和字符串.除了使用ASP.NET之外,这个修改后的代码也更安全,因为eval语句已经消失.

编辑:我应该也注意到你可能需要对grid.celledit.js,grid.formedit.js,grid.inlinedit.js和grid.subgrid.js进行类似的编辑.


从jqGrid 3.4开始,这些黑客仍然是必要的吗?
推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有