我有两个问题:
JSONResult 和 ActionResult 有什么区别?
什么时候在 MVC 中使用 JSONResult?
我有两个问题:
JSONResult 和 ActionResult 有什么区别?
什么时候在 MVC 中使用 JSONResult?
ActionResult
是一个动作可以返回的抽象类。
Controller
(例如, Json()
, Content()
, ...)中的辅助方法View()
返回继承的不同具体类ActionResult
,包括JsonResult
.
您应该将您的操作方法声明为返回ActionResult
,以便它们可以自由地返回任何具体的结果类。
JsonResult
当您想要返回原始 JSON 数据以供客户端(网页或移动客户端上的 JavaScript)使用时使用。
如果ActionResult
您想返回视图、重定向等以由浏览器处理,请使用此选项。
ActionResult
是一个抽象类。JsonResult
是 的子类型ActionResult
。所以我们可以返回两种类型的 json 内容。
json结果
这个有点复杂,但仍然不是很复杂。它还对其 ContentType 进行了硬编码,但更复杂的是它使用硬编码的 JavaScriptSerializer 来序列化 JSON 数据,然后再将其直接写入响应。
这篇文章可能会有所帮助
http://brendan.enrick.com/post/types-of-aspnet-mvc-3-action-results.aspx
根据MSDNActionResult
文档:
ActionResult 类封装了动作方法的结果,用于代表动作方法执行框架级操作。
动作方法通过执行工作并返回动作结果来响应用户输入。动作结果表示框架将代表动作方法执行的命令。ActionResult 类是动作结果的基类
对于JsonResult:
表示用于将 JSON 格式的内容发送到响应的类。