通常我们在一个ASP.NET MVC项目中创建一个Controller的时候,Index()方法默认的返回类型都是ActionResult,通过查看UML图,ActionResult实际上是一个抽象类,因此实际返回的类型是该抽象类的子类。

Ø ActionResult及其子类的UML

 

有关ActionResult及其子类的UML图如下所示:

由于图片比较大,所以在浏览器中看起来可能比较小,也不太方便,大家可以点击这里下载大图,使用专业的图片浏览器打开来看。

下载大图

Ø ActionResult及其子类的对照表

ActionResult的子类名称

说明

ViewResult

表示HTML的页面内容

EmptyResult

表示空白的页面内容

RedirectResult

表示定位到另外一个URL

JsonResult

表示可以运用到AJAX程序中JSON结果

JavaScriptResult

表示一个JavaScript对象

ContentResult

表示一个文本内容

FileContentResult

表示一个可以下载的、二进制内容的文件

FilePathResult

表示一个可以下载的、指定路径的文件

FileStreamResult

表示一个可以下载的、流式的文件

通过我们在代码中编写,不难看到如下的一段代码:

public ActionResult Index()

{

return View();

}

可能有人会有疑问,既然我定义的是ActionResult,为什么返回值会是View呢?

其实这个View的类型是ActionResult的子类ViewResult,有关Controller中的方法与返回对象请参照下表:

Controller中的方法

返回对象

View

ViewResult

Redirect

RedirectResult

RedirectToAction

RedirectToActionResult

RedirectToRoute

RedirectToRouteResult

Json

JsonResult

JavaScriptResult

JavaScriptResult

Content

ContentResult

File

FileContentResult、FilePathResult、FileStreamResult

理解ASP.NET MVC中的ActionResult的更多相关文章

  1. ASP.NET MVC中多种ActionResult用法总结

    最近一段时间做了个ASP.NET MVC4.0的项目,项目马上就要结束了,今天忙里偷闲简单总结一下心得: 1. 如果Action需要有返回值的话,必须是ActionResult的话,可以返回一个Emp ...

  2. 理解ASP.NET MVC中的HTML Helpers

    01 内联Html Helpers @helper listItems(string[] items) { <ol> @foreach (var item in items) { < ...

  3. .NET MVC中的ActionResult

    一  摘要 本文介绍了ASP.NET MVC中的ActionResult,本节主要介绍 EmptyResult / Content Result /JavaScriptResult /JsonResu ...

  4. [转载]深入理解ASP.NET MVC之ActionResult

    Action全局观 在上一篇最后,我们进行到了Action调用的“门口”: 1 if (!ActionInvoker.InvokeAction(ControllerContext, actionNam ...

  5. Asp.net MVC 中Controller返回值类型ActionResult

    [Asp.net MVC中Controller返回值类型] 在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必 ...

  6. ASP.NET MVC中常用的ActionResult类型

    常见的ActionResult 1.ViewResult 表示一个视图结果,它根据视图模板产生应答内容.对应得Controller方法为View. 2.PartialViewResult 表示一个部分 ...

  7. .Net Mvc学习——ASP.NET MVC中常用的ActionResult类型

    一.定义 MVC中ActionResult是Action的返回结果.ActionResult 有多个派生类,每个子类功能均不同,并不是所有的子类都需要返回视图View,有些直接返回流,有些返回字符串等 ...

  8. Asp.net MVC中Route的理解

    在Asp.net MVC中,对于一个请求,是通过路由找到对应的Controller类中的对应Action,并与model进行交互,最后返回到view. 就是说Asp.net MVC是用Route来定义 ...

  9. 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

随机推荐

  1. vue 阅读一【待完结】

    初步方案:从第一个commit开始到到最近的commit,从代码的大纲开始到细节,利用思维导图. 注意: 源码阅读是一件比较枯燥的事情,要有别的东西一起做,源码只是偶尔看看,经常发呆的话,非常浪费时间 ...

  2. vs2010静态链接Qt

    先按照这个帖子弄好静态库 http://www.cnblogs.com/rollenholt/articles/2518642.html 注意原文中config那一步最后一个"-" ...

  3. 使用apache服务器配置虚拟目录

    安装好了apache+php+mysql之后就像在自己电脑上安装wordpress玩玩,因为安装好之后根目录在D盘, 所以就想自己配置一个虚拟目录指向路径为D:\wordpress的wordpress ...

  4. Shell执行将脚本里的变量打印到指定日志文件

    首先需要定位获取任务的运行日志或者报错信息,才能定位问题. 通过shell调用有些脚本的话,日志信息会打印在shell里.不过也有用户在shell里调用正常,但是到crontab调用的时候就出错并且没 ...

  5. LeetCode 新题: Find Minimum in Rotated Sorted Array II 解题报告-二分法模板解法

    Find Minimum in Rotated Sorted Array II Follow up for "Find Minimum in Rotated Sorted Array&quo ...

  6. java命令行打war

    java命令行打war(windows下) 切换到需要打包文件夹low的上级目录>jar -cfM legendwealth.war -C low .

  7. js实现分页的几个源码,看完基本就懂了

    第一种:   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...

  8. CSS样式表——超链接样式

    主要作用是给用HTML做的链接修改样式 主要包括: 1.超链接访问前(被点前)状态a:link 2.超链接访问后(被点后)状态a:visited 3.鼠标指向超链接时(放在上面)状态a:hover 4 ...

  9. git过期处理

    删除git下的文件:C:\Users\Java\AppData\Roaming\syntevo\......\7\settings.xml删除settings.xml文件即可

  10. C++实现 逆波兰表达式计算问题

    C++实现 逆波兰表达式计算问题 #include <iostream> #include <string> using namespace std; class Stack ...