asp.net – jqgrid jsonReader配置
发布时间:2020-12-15 23:57:23 所属栏目:asp.Net 来源:网络整理
导读:我是jqgrid的新手,最后我设置了一个网格.假设我需要设置jsonReader,以便网格知道在json返回中获取网格数据的位置.然而,在尝试了几天后我得到了空白细胞. 这是我的网格: jQuery("#list48").jqGrid({ url: 'dbtest.aspx/get_offsite_history2',datatype: "jso
我是jqgrid的新手,最后我设置了一个网格.假设我需要设置jsonReader,以便网格知道在json返回中获取网格数据的位置.然而,在尝试了几天后我得到了空白细胞.
这是我的网格: jQuery("#list48").jqGrid({ url: 'dbtest.aspx/get_offsite_history2',datatype: "json",mtype: 'POST',ajaxGridOptions: { contentType: "application/json" },serializeGridData: function(postData) { return JSON.stringify(postData); },jsonReader: { root: function(obj) { alert(JSON.stringify(obj.d)); return obj.d; },repeatitems: false },height: 'auto',rowNum: 30,rowList: [10,20,30],colNames: ['name','start_date','duration','offsite_cat'],colModel: [ { name: 'name',index: 'name',width: 80,align: 'left',editable: true,edittype: 'text' },{ name: 'start_date',index: 'start_date',width: 120,{ name: 'duration',index: 'duration',{ name: 'offsite_cat',index: 'offsite_cat',edittype: 'text'}],pager: "#plist48",viewrecords: true,sortname: 'name',caption: "Grouping Array Data",gridview: true }); 这是从url dbtest.aspx / get_offsite_history2返回的服务器: {"d":"[{"name":"A","start_date":"B","duration":"C","offsite_cat":"D"}]"} 我想通过设置“root:’d’得到结果但是我有64个空白行… 寻找评论……非常感谢 解决方法
您的问题的原因是您的服务器代码中的错误.您对JSON进行了两次序列化.在反序列化服务器响应的d属性之后,您仍然获得JSON字符串(!!!)而不是对象.典型错误是在Web方法中手动使用JavaScriptSerializer.Serialize.应该返回对象本身而不是序列化结果的字符串.
在不修改当前服务器代码的情况下,您可以通过使用来解决问题 jsonReader: { root: function (obj) { alert(typeof obj.d === "string" ? obj.d : JSON.stringify(obj.d)); return typeof obj.d === "string" ? $.parseJSON(obj.d) : obj.d; },repeatitems: false,page: function () { return 1; },total: function () { return 1; },records: function (obj) { return typeof obj.d === "string" ? $.parseJSON(obj.d).length : obj.length; } } 或者(如果你使用loadonce:true) jsonReader: { root: function (obj) { return typeof obj.d === "string" ? $.parseJSON(obj.d) : obj.d; },repeatitems: false } 因为您当前的服务器代码似乎没有实现数据分页,所以您应该将rowNum增加到某个足够大的值,如rowNum:10000或使用loadonce:true. 更新:您可以找到有效的here修改演示.它显示 在提醒信息之后. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 模型binder属性类型int的问题
- 从ASP.NET MVC返回null时,jQuery post JSON失败
- asp.net-mvc – asp.net中的奇怪图像生成错误
- ASP.NET内联编码:变量名不会被值替换
- asp.net-mvc – 帮助MVC身份验证/授权解决方案
- asp.net-mvc – 根据需要处理ASP.NET MVC可选字段
- 获取ASP.NET中所有活动会话的列表
- asp.net-mvc-3 – RoleProvider不能与服务器上的自定义IIde
- asp.net-mvc – ASP MVC3在actionlink中插入html标签
- ASP.net – 多个上传与jQuery多文件上传插件
推荐文章
站长推荐
- asp.net-mvc – 服务层是否可以访问HttpContext?
- asp.net-core – 如何在.Net Core应用程序中读取
- asp.net-mvc – 在默认的asp.net mvc 5模板中输入
- asp.net-mvc – 如何使用html帮助器在asp.net mv
- asp.net-mvc – 是否违反命令查询分离命令运行查
- ASP.NET CORE系列【七】分析NetCore启动原理
- asp.net – 多个客户端应该有一个项目副本,还是每
- asp.net – IIS URL重写 – 忽略URL是否包含
- asp.net-mvc – 强大的html帮助程序,具有不同的g
- asp.net – 在IIS 7.5上挂在Session模块上的请求
热点阅读