日期:2014-05-17  浏览次数:20454 次

Jquery easy ui datagrid 获取数据问题
$('#test').datagrid({
title: 'My Title',
iconCls: 'icon-save',
width: 600,
height: 350,
nowrap: false,
striped: true,
collapsible: true,
url: '/Order/Getjson',
datatype: 'json',
onLoadSuccess: function (data) { alert(data); },
onLoadError: function (data) { alert(data); },
sortName: 'code',
sortOrder: 'desc',
remoteSort: false,
idField: 'code',
  ....................


控制器
  public JsonResult Getjson() {
  object json1 = "{\"total\":239,\"rows\":[{\"code\":\"001\",\"name\":\"Name1\",\"addr\":\"Address11\",\"col4\":\"col4data\"}]}";
  return Json(json1,JsonRequestBehavior.AllowGet);
  }


执行的时候 提示 报错 打开 调试 工具 
 data.rows.sort(function(r1,r2){
return _3f9(r1[opts.sortName],r2[opts.sortName])*(opts.sortOrder=="asc"?1:-1);
}); 无法解析 data.rows 的值 我看了 data 值为{"total":239,"rows":[{"code":"001","name":"Name1","addr":"Address11","col4":"col4data"}]} 这是怎么回事 我格式好像没设置错误吧

------解决方案--------------------
你用的是json数据格式吧
------解决方案--------------------
你的 action 有问题,你的json1 本身已经是 json字符串了,不需要再用json方法转换。
直接返回。
C# code

 public ContentResult Getjson()
 {
   string json1 = "{\"total\":239,\"rows\":[{\"code\":\"001\",\"name\":\"Name1\",\"addr\":\"Address11\",\"col4\":\"col4data\"}]}";
           // return Json(json1, JsonRequestBehavior.AllowGet);
   return Content(json1);
  }