我需要使用我的数据库数据填充jQuery数据表,但是很难这样做。在网上搜索,我相信我找到了原因,这是我的控制器返回的json格式。格式应如下:
{
"data": [
{
"ID": "1",
"CODIGO": "CC0050",
"TEXTO": "USINAGEM"
},
{
"ID": "2",
"CODIGO": "CC0100",
"TEXTO": "MONTAGEM"
}]
}
但是会以这种格式返回:
[
{
"ID":24,
"CODIGO":"CC0050",
"TEXTO":"USINAGEM"
},
{
"ID":25,
"CODIGO":"CC0100",
"TEXTO":"MONTAGEM"
}
]
这是控制器代码:
[HttpGet]
public JsonResult GetAllCECOS()
{
using (RPIEntities contextObj = new RPIEntities())
{
try
{
var listaCECOS = contextObj.T0CECOS.ToList();
return Json(listaCECOS, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
throw ex;
}
}
}
答案 0 :(得分:1)
全心全意,
我改变了JsonResult方法的回报:
[HttpGet]
public JsonResult GetAllCECOS()
{
using (RPIEntities contextObj = new RPIEntities())
{
try
{
var listaCECOS = contextObj.T0CECOS.ToList();
**return Json(listaCECOS, JsonRequestBehavior.AllowGet);**
}
catch (Exception ex)
{
throw ex;
}
}
}
到此:
return Json(new { data = listaCECOS }, JsonRequestBehavior.AllowGet);
答案 1 :(得分:0)
原因是您正在返回对象列表,它是实际使用JSON解析的列表。
在这种情况下,您希望返回具有“data”属性的对象。它可以是一个命名类:
public class MyReturningObject
{
public IEnumerable<T0CECOS> data { get; set; }
}
或匿名对象:
return new { data = listaCECOS, JsonRequestBehavior.AllowGet };
在此对象中添加列表,并使用JSON解析实际等待的JSON!
{
"data": [
{
"ID": "1",
"CODIGO": "CC0050",
"TEXTO": "USINAGEM"
},
{
"ID": "2",
"CODIGO": "CC0100",
"TEXTO": "MONTAGEM"
}]
}