/// <summary>
/// Get collection of movies as json.
/// </summary>
/// <returns></returns>
public ActionResult GetAllMovies1s()
{
// db-> DBContext
// Get the collection of movies.
var movies = db.Movies.ToList();
return Json(movies);
}
/// <summary>
/// Get collection of movies as json.
/// </summary>
/// <returns></returns>
public JsonResult GetAllMovies2()
{
// db-> DBContext
// Get the collection of movies.
var movies = db.Movies.ToList();
return Json(movies);
}
我对此有点新手,上面两个方法返回json数组来查看获取电影JSON结果到Ajax调用。我知道上面两个方法都可以完成工作。但我想知道女巫方法是其中更好吗?我认为ActionResult比JsonResult更好,因为我听说当我们编写一个函数时返回更通用的返回类型总是好的(JsonResult是ActionResult的concreate版本)。所以请高手帮我澄清一下选择其中的好人?(抱歉英语不好)
请大家请在重复之前正确阅读这个问题我已经知道ActionResult是JsonResult的更通用版本。我的问题是要知道,通常最好的方法就是完成编码和性能的干净方式。 ..等
答案 0 :(得分:3)
我认为在这种情况下没有区别。如果仅在一种情况下使用该方法,则使用JsonResult
。你会看到你正在使用。随附这样的代码会更容易。您编写的代码不会引起任何问题。 ActionResult
更通用的类,是一个动作可以返回的抽象类。
如果代码仅在Ajax
中使用,则使用JsonResult
其他ActionResult
。
看看层次结构,我们将看到差异。
ActionResult的继承层次结构:
和JsonResult
根据MSDN的ActionResult:
ActionResult类封装操作方法的结果 用于代表操作执行框架级操作 方法
根据MSDN的JsonResult:
表示用于将JSON格式的内容发送到的类 响应。
JsonResult
是ActionResult
的具体版本 - 然后使用JsonResult
进行Ajax调用。抱歉我的英文。