Javascript 如何为datatables服务器端处理返回JSON对象
我需要使用服务器端处理将一些数据加载到datatables表中 我需要将一个自定义JSON对象返回到datatables对象的aaData属性,以进行一些自定义格式化。我不能简单地返回字符串数组 这是我的控制器操作,返回一个数组(这是我需要更新的): 结果对象必须采用以下形式:Javascript 如何为datatables服务器端处理返回JSON对象,javascript,asp.net-mvc,json,datatables,Javascript,Asp.net Mvc,Json,Datatables,我需要使用服务器端处理将一些数据加载到datatables表中 我需要将一个自定义JSON对象返回到datatables对象的aaData属性,以进行一些自定义格式化。我不能简单地返回字符串数组 这是我的控制器操作,返回一个数组(这是我需要更新的): 结果对象必须采用以下形式: [ { "prop1": "val1", "prop2": "val2", ...... "propn": "valn" }, ................. { "prop1": "
[
{ "prop1": "val1",
"prop2": "val2",
......
"propn": "valn"
},
.................
{ "prop1": "val1",
"prop2": "val2",
......
"propn": "valn"
},
]
您必须将列表设置为
JSON
字符串,并且您的操作返回类型为JsonResult
public JsonResult GetData()
{
var list = filteredResults.Select(temp => new[] { temp.userId.ToString(), temp.userName.ToString(), temp.email.ToString(), temp.phone.ToString(), temp.Postcode.ToString(), temp.Street.ToString(), temp.LastLogin.ToString() }).FirstOrDefault();
return Json(list, JsonRequestBehavior.AllowGet);
}
您必须调用GetData()操作并返回
JSON
我实际做的是使用动态对象语法来格式化返回的JSON数组,如下所示:
var result = from u in filteredResults
select new
{
id = Convert.ToString(u.userId),
userName = u.userName,
roleId = u.roleId.ToString(),
roleName = u.type,
isActive = u.isActive == true ? "Active" : "Inactive",
firstName = u.firstName,
lastName = u.lastName,
email = u.email,
phone = u.phone,
postcode = u.Postcode,
street = u.Street,
company = u.company,
jobId = u.jobId.ToString(),
job = u.job,
//countryKey = u.country,
countryName = u.countryName,
city = u.City,
loginsNum = u.LoginsNum.ToString(),
lastLogin = u.LastLogin.ToString()
};
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = result.Count(),
iTotalDisplayRecords = result.Count(),
aaData = result
}, JsonRequestBehavior.AllowGet);
var result = from u in filteredResults
select new
{
id = Convert.ToString(u.userId),
userName = u.userName,
roleId = u.roleId.ToString(),
roleName = u.type,
isActive = u.isActive == true ? "Active" : "Inactive",
firstName = u.firstName,
lastName = u.lastName,
email = u.email,
phone = u.phone,
postcode = u.Postcode,
street = u.Street,
company = u.company,
jobId = u.jobId.ToString(),
job = u.job,
//countryKey = u.country,
countryName = u.countryName,
city = u.City,
loginsNum = u.LoginsNum.ToString(),
lastLogin = u.LastLogin.ToString()
};
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = result.Count(),
iTotalDisplayRecords = result.Count(),
aaData = result
}, JsonRequestBehavior.AllowGet);