方法1:
在这里,从数据库检索到的数据被转换为Repository类中的Json,并传递给Controller
检索数据的存储库类方法:
public JsonResult GetEmployee(int Id)
{
Employee emp = this._employeeList.FirstOrDefault(e => e.Id == Id);
return new JsonResult(emp);
}
控制器中的操作方法:
public ViewResult Details()
{
JsonResult model = _employeeRepository.GetEmployee(1);
return View(model);
}
方法2:
在这里,从数据库中检索的数据在相应的操作方法中被转换为Controller类中的Json
检索数据的存储库类方法:
public Employee GetEmployee(int Id)
{
return this._employeeList.FirstOrDefault(e => e.Id == Id);
}
控制器中的操作方法:
public ViewResult Details()
{
Employee model = _employeeRepository.GetEmployee(1);
return View(Json(model));
}
就性能和其他参数而言,哪种方法是最好的
p.s:我想使用View for Ajax脚本中传递的json数据来显示计算数据
只有当我需要JSON作为html响应的一部分时,我才会将其呈现到视图中,在这种情况下,我会先将其序列化为字符串,然后将其作为模型的属性传递。
如果我也想通过ajax传递相同的数据,我会在我的控制器中编写第二个函数,例如Details_ajax,它会返回JsonResult并使用return Json(data(串行化数据。
一般来说,尽可能避免串行化和去串行化是最有效的。