Asp.Net Core 响应结果中默认返回值为IActionResult,我们可以再Action返回简单字符串、实体对象、视图等多种数据,这些结果都被封装在IActionResult中,对于不同的返回结果 mvc框架提供了多种类型结果实现了此接口。
下表中列出了不同返回类型的返回结果
动作类型 | 行为 |
---|---|
ContentResult | 返回一串字符串 |
FileContentResult | 返回文件内容 |
FilePathResult | 返回路径文件的内容 |
EmptyResult | 返回空值 |
JavaScriptResult | 返回一段JavaScript代码 |
JsonResult | 返回Json格式数据 |
RedirectToResult | 重定向到其他URL |
HttpUnauthorizedResult | 返回HTTP403未授权状态码 |
RedirectToRouteResult | 重定向到不同的控制器动作 |
ViewResult | 接收视图引擎的响应 |
PartialViewResult | 接收分部视图引擎的响应 |
MVC中控制器决定着下一步需要做什么,返回字符串或者HMTL页面或者返回可能序列化为Json的模型对象等,使用产生ActionResult的对象的典型优点就是它以正式的方式封装控制器决策,控制器不必直接在响应中写入其决策结果,只需要返回决策,框架本身获取结果并理解如何将结果进行何种转换以便可以通过HTTP进行发回。