Actionresult vs JSONresult

Sam*_*ore 34 asp.net-mvc jsonresult asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-5

我有两个问题:

  1. JSONResult和ActionResult有什么区别?

  2. 何时在MVC中使用JSONResult?

SLa*_*aks 35

ActionResult 是一个动作可以返回的抽象类.

助手方法Controller(例如Json(),Content(),View(),...)返回继承不同的具体类别ActionResult,包括JsonResult.

您应该将您的操作方法声明为返回ActionResult,以便他们可以自由返回任何具体的结果类.

  • “您应该将操作方法​​声明为返回ActionResult,以便它们可以自由返回任何具体的结果类。”我不同意。您应该对返回类型尽可能具体,对参数尽可能一般。在大多数情况下,`JsonResult`是返回的正确类型,因为其他方法可能会使用该方法并希望检查仅在“ JsonResult`中公开的.Data”。 (3认同)

Tre*_*ley 15

JsonResult当您想要返回客户端使用的原始JSON数据时(在网页或移动客户端上使用javascript)时使用.

使用ActionResult,如果你想返回一个视图,重定向等,以通过浏览器来处理.


小智 5

ActionResult抽象类JsonResult是的子类型ActionResult。因此,我们可以返回两种类型的json内容。