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进行发回。

 

posted @ 2021-02-26 12:12  ProZkb  阅读(400)  评论(0编辑  收藏  举报