ActionResult 详解

ActionResult 详解

ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回一个直接或间接从ActionResult抽象类继承的类型,如果返回的是非ActionResult类型,控制器将会将结果转换为一个ContentResult类型。
默认的ControllerActionInvoker调用ActionResult.ExecuteResult方法生成应答结果。

Asp.Net Core 响应结果中默认返回值为IActionResult,我们可以再Action返回简单字符串、实体对象、视图等多种数据,
这些结果都被封装在IActionResult中,对于不同的返回结果 mvc框架提供了多种类型结果实现了此接口。

各种Result说明:

 

Result的封装:

除了通过new对象返回结果外,还可以使用封装后的方法;

public IActionResult Result1()//实例化对象
        {
            JsonResult result = new JsonResult(new { name = "kxy1" });
            return result;
        }
        public IActionResult Result2()//封装方法
        {
            return Json(new { name = "kxy2" });
        }
MVC中控制器决定着下一步需要做什么,返回字符串或者HMTL页面或者返回可能序列化为Json的模型对象等,
使用产生ActionResult的对象的典型优点就是它以正式的方式封装控制器决策,控制器不必直接在响应中写入其决策结果,
只需要返回决策,框架本身获取结果并理解如何将结果进行何种转换以便可以通过HTTP进行发回。
人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。
原文地址:https://www.cnblogs.com/ZkbFighting/p/14451635.html