【发布时间】:2013-10-10 09:09:59
【问题描述】:
我正在尝试将 JSON 数据绑定到 jqgrid。但是,我没有得到任何数据。
这里是我的代码:
$(function () {
$("#list").jqGrid({
url:'<%:Url.Action("LoadData","Home")%>',
datatype: "JSON",
mtype: "GET",
colNames: ["sid","sname"],
colModel: [
{ name: "sid", width: 55,align:"center"},
{ name: "sname", width: 90,align:"center"},
],
jsonReader: {
repeatitems: false
},
pager: "#pager",
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
gridview: true,
autoencode: true,
caption: "My first grid"
});
});
我在 Asp.net MVC 应用程序中使用它。
我能够点击控制器并获取 JSON 数据..但我无法将数据显示到网格中。
我从控制器获得了正确的 json o/p。
我的控制器是:
public JsonResult LoadData()
{
var Data= new DataTable();
Data= DataModel.LoadData();
var JsonData = JsonConvert.SerializeObject(Packages, Formatting.Indented);
return Json(new
{
JsonData
}, JsonRequestBehavior.AllowGet);
}
我认为我的 JQgrid jquery 代码中有错误。首先,我想以最少的配置实现 jqgrid。
我得到的 JSON 响应是:
[
{
"sid": 2,
"sname": "ABC"
},
{
"sid": 3,
"sname": "XYZ"
},
{
"sid": 4,
"sname": "CBA"
},
{
"sid": 5,
"sname": "IIT"
},
{
"sid": 6,
"sname": "NIT"
}
]
这是我的 HTML 结构:
<table id="list">
</table>
<div id="pager"></div>
我从正在获取的数据中删除了重复项..
JSON 结果,我已经在 Visual Studio 的 Text Visualizer 中进行了检查。它很好..
请帮忙..
【问题讨论】:
-
能否将
LoadData返回的数据包括在内?您可以使用Fiddler、Firebug 或 IE 或 Chrome 的开发者工具来捕获确切的 HTTP 流量。顺便问一下sid是否包含唯一 ID? -
No..sid 有重复项
-
我无法使用 Fiddler
-
如果没有 fiddler,请尝试使用带有 firebug 或 chrome 控制台的 Firefox
-
它不允许我下载任何东西..完全受限
标签: c# asp.net-mvc json jqgrid