大家好,我是大成子,今天写一遍MVC控制器常见的返回的类型,总结一下过往的知识。
IActionResult
IActionResult就不多说了,它是所有Result的父类。下面说说几种常见的。
ViewResult
用于输出视图内容:
ContentResult
输出简单文本内容:
JsonResult
输出json字符串
跳转控制之重定向
Redirect:重定向页面跳转
RedirectToAction:跳转到指定的action(可以是非本控制器)
RedirectToRoute:使用指定的路由值跳转到指定的路由
文件输出
按指定的文件路径来输出文件:
注意:用此方法,没有涉及到文件流,不需要读取硬盘上的文件,所以直接使用虚拟路径,即相对路径
测试结果如下:
使用字节数组输出文件:
测试如下:
此为在线浏览方式,如若需要下载的方式,则在返回方法加上第三个参数,下载文件的命名:
使用流方式输出文件:
总结:
1.本篇文章示例了MVC/API中返回的比较常见的几种类型,但不管是ViewResult还是ContentResult他们所有的类型的基类都是IActionResult,在写的时候可以不必写出具体的返回类型,直接写IActionResult。
2.也可以写平常我们所见的int,string,或者void亦或者其他类型
3.重定向。
Redirect(页面路径)
RedirectToAction(重定向到指定的控制器、动作方法)
RedirectToRoute(使用指定的路由值跳转)
4.重点是最后文件上传下载中的下载知识点,也就是文件资源的输出。
(1)直接使用项目中的路径资源,通过路径读取文件,输出文件。注意:需要使用虚拟(相对)路径。
(2)使用字节数组,输出文件资源。需要使用物理(绝对)路径。
(3)使用流,输出文件资源。需要使用物理(绝对路径)。
好了,今天的学习就到这里结束了,有需要交流的请联系小编,共同学习进步。关于文件资源上传的,我们以后的学习再讲解。MVC和API原理差不多,返回类型也差不多,所以上述讲解的MVC中的全部内容在API中也同样适用。
代码地址:https://github.com/huguangcheng/_NET-Core_Study/tree/master/FileUpAndDown
网友评论