使用MVC核心操作方法,我想将JsonResult传递给视图.数据是从模型中检索的.做同样的事情最好的方法是什么



方法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(串行化数据。

一般来说,尽可能避免串行化和去串行化是最有效的。

相关内容

  • 没有找到相关文章

最新更新