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コントローラーを使用したいと思います。これを解決するのを手伝ってください。
前もって感謝します。