MVC中Controller返回值类型
Posted 程序猿微课
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC中Controller返回值类型相关的知识,希望对你有一定的参考价值。
MVC中Controller返回值类型
在mvc中所有的controller类都必须使用"Controller"后缀来命名
并且对Action也有一定的要求:
必须是一个public方法
必须是实例方法
没有标志NonActionAttribute特性的(NoAction)
不能被重载
必须返回ActionResult类型
什么是ActionResult
ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回一个直接或间接从ActionResult抽象类继承的类型,如果返回的 是非ActionResult类型,控制器将会将结果转换为一个ContentResult类型。默认的ControllerActionInvoker
调用ActionResult.ExecuteResult方法生成应答结果。
常见的ActionResult
动作结果的类型 | 说 明 |
EmptyResult |
代表一个空值或空的响应,不进行任何操作 |
ContentResult | 将指定的内容作为文本直接写入响应中 |
JsonResult | 串行化提供到JSON中的对象并将 JSON写入响应中 |
RedirectResult | 将用户重新定向到给定的URL中 |
RedirectToRouteResult | 将用户重新定向到通过路由选 择参数指定的URL中 |
ViewResult | 调用进视图引擎以将视图呈现到响应中 |
PartialViewResult | 与ViewResult相似,除了没有将局部 视图呈现给响应之外,通常会响应AJAX请求 |
FileResult | 用作一组结果的基类,这组结果将二 进制的响应编写到流中。这对于将文 件返回给用户非常有用 |
FilePathResult | 继承自FileResult并返回,将文件写入 基于文件路径的响应中 |
FileContentResult | 继承自FileResult并返回,将一个字 节数组写入响应中 |
FileStreamResult | 继承自FileResult并返回,将一个 流写入响应中 |
javascriptResult | 用于在客户机上立刻执行来自服务 器的JavaScript代码 |
采用通过Action参数的方式大大的减少了代码量和提高了可读性。使用参数的形式还有一个好处是利于单元测试,因为我们不用创建一个RouteData和Request对象,直接传递对应参数就可以测试。
以上是关于MVC中Controller返回值类型的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net MVC 中Controller返回值类型ActionResult
Spring MVC @Controller中返回值为void类型
Spring MVC @Controller中返回值为void类型
ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)