无法在 asp.net mvc 4 中将 JSON 对象映射到 JqGrid
Posted
技术标签:
【中文标题】无法在 asp.net mvc 4 中将 JSON 对象映射到 JqGrid【英文标题】:Unable to Map JSON object to JqGrid in asp.net mvc 4 【发布时间】:2018-05-07 04:29:49 【问题描述】:我有一个嵌套的 JSON 对象,看起来像这样:
所以我的 JqGrid 看起来像这样:
$.post("GetInvoices",
v: invoiceno,
type: invoicetype,
i: sessioncode
,
function(result)
$('#list2').jqGrid(
datastr: result,
postdata:
v: invoiceno,
type: invoicetype,
i: sessioncode
,
mtype: 'POST',
datatype: 'json',
colNames: ['BarCode'],
colModel: [
name: 'BarCode',
width: 100,
jsonmap: "DetailProduct.BarCode"
],
loadonce: true
);
jQuery("#list2").jqGrid('navGrid', '#pager2',
edit: false,
add: false,
del: false
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我实际需要的是将此 JSON 对象呈现为我的页面中的网格,但它显示未定义。
【问题讨论】:
【参考方案1】:您应该将数据类型更改为 jsonstring
function(result)
$('#list2').jqGrid(
datastr: result,
mtype: 'POST',
datatype: 'jsonstring',
colNames: ['BarCode'],
colModel: [
name: 'BarCode',
width: 100,
jsonmap: "DetailProduct.BarCode"
],
loadonce: true
)
...
因为您已经使用 post 函数获得了结果数据。
【讨论】:
以上是关于无法在 asp.net mvc 4 中将 JSON 对象映射到 JqGrid的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.NET MVC 中将 FormsIdentity 替换为 WindowsIdentity
在ASP.NET MVC中全局应用JSON Serializer设置
在 ASP.net MVC 4 中将类对象从一个控制器动作传递到不同的控制器动作