Javascript jqGrid无法加载数据
嗨,我得到了一个简单的actinResult,它返回jsonResult。方法如下Javascript jqGrid无法加载数据,javascript,c#,jqgrid,Javascript,C#,Jqgrid,嗨,我得到了一个简单的actinResult,它返回jsonResult。方法如下 [HttpPost] public JsonResult AllEmployees() { EmployeeService employeeService = new EmployeeService(); List<EmployeeViewModel> employeesViewMod = employeeService.allEmployee();
[HttpPost]
public JsonResult AllEmployees()
{
EmployeeService employeeService = new EmployeeService();
List<EmployeeViewModel> employeesViewMod = employeeService.allEmployee();
var AllEmpObjects= JsonConvert.SerializeObject(employeesViewMod);
return Json(AllEmpObjects);
}
}
不幸的是,输出上没有数据,但网格显示为空。有人能帮忙吗?你应该把电话线拔掉
var AllEmpObjects= JsonConvert.SerializeObject(employeesViewMod);
从您的代码中,替换返回Json(allemobjects)代码>到
return Json(employeesViewMod);
亲爱的@Oleg非常感谢,伙计。工作完成了。你能解释一下为什么我不需要在这里序列化吗。没有json转换,我是如何写“returnJSON(employeesViewMod);”的。但是employeesViewMod尚未转换为json。通常,当我通过AJAX接收数据时,我首先在controller中将数据/对象转换为jason,然后将json.parse转换为JS文件并使用数据/对象。再次感谢您的帮助。@Cloud:不客气<代码>返回Json(employeesViewMod)代码>已将对象转换为JSON格式的字符串。问题是人们也可以转换为JSON非对象类型:整数、布尔值和字符串。如果将字符串转换为JSON,则所有“
和`都将转义(请参见[此处](http://www.json.org/)).因此您得到的是字符串
[{\“FirstName\”:\“shuvo\”,…}`而不是字符串
[{“FirstName”:“shuvo”,…}]。然后在客户端,字符串将反序列化为字符串而不是对象。因此jqGrid无法读取数据,因为它需要对象(项数组)。
return Json(employeesViewMod);