我想从我的 WebAPI 控制器返回一些 JSON 数据,我希望返回的数据是这样的。
{"rows":[{"id":1,"cell":["1","amila","amila","False"]},{"id":2,"cell":["2","rakhitha","rakhitha","False"]},{"id":3,"cell":["3","Chathura","Chathura","False"]},{"id":4,"cell":["4","Geethaga","Geethaga","False"]}]}
但是当我使用下面的代码时,
return new System.Web.Mvc.JsonResult()
{
Data = jsonData,
JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.AllowGet
};
数据是这样返回的。
{"Data":{"rows":[{"id":1,"cell":["1","amila","amila","False"]},{"id":2,"cell":["2","rakhitha","rakhitha","False"]},{"id":3,"cell":["3","Chathura","Chathura","False"]},{"id":4,"cell":["4","Geethaga","Geethaga","False"]}]},"JsonRequestBehavior":0}
还有一个额外的 JSON 键作为“数据”。我不想要那个参数,作为我的实现,我不能在把它送到客户端后删除这个“数据”部分。因为从服务器接收到的数据直接用来填充一个jqGrid。代码如下。
$("#Grid1").jqGrid({
url: 'api/matchingservicewebapi/GetUser',
datatype: 'json',
mtype: 'GET',
colNames: ['', 'Name', 'FullName', 'IsActive'],
colModel: [
{ name: 'Id', index: 'Id', width: 200 },
{ name: 'Name', index: 'Name', width: 300 },
{ name: 'FullName', index: 'FullName', width: 300 },
{ name: 'IsActive', index: 'IsActive', width: 300 }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager',
sortname: 'Id',
viewrecoreds: true,
sortorder: "desc",
imgpath: 'Themes/images'
}).navGrid(pager, { edit: true, add: true, del: true, refresh: true, search: true });
如何删除此“数据”部分?因为当您在返回的 JSON 中有这个“数据”键时,jqGrid 无法将该数据填充到网格中。
我正在使用 WebAPI 控制器返回此数据。但是我尝试使用 MVC3 控制器,然后这个“数据”键不在返回的 JSON 中,并且数据成功填充到网格中。但我想使用 WebAPI 控制器。请帮助解决这个问题。
先感谢您。