通常我们在一个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

最新文章

  1. “此网页上的某个 Web 部件或 Web 表单控件无法显示或导入。找不到该类型,或该类型未注册为安全类型。”
  2. HTCondor安装
  3. icePDF去水印方法
  4. IAP的几个问题
  5. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
  6. (转)css3前缀
  7. NOIP2010-普及组初赛C语言解析
  8. Hive:添加、删除分区
  9. linux下 mysql数据库的备份和还原sql
  10. getchar getche getch的区别
  11. global
  12. mysql设置更改root密码、mysql服务器的连接、mysql常用命令
  13. JPEG图片扩展信息读取与修改
  14. [BZOJ 1588][HNOI 2002] 营业额统计
  15. C# JSON和对象之间互相转换
  16. MySQL中optimize的作用
  17. iOS GCD NSOperation NSThread等多线程各种举例详解
  18. [PIC32--IDE]Microchip PIC32开发环境的搭建
  19. C#自动切换Windows窗口程序,如何才能调出主窗口?
  20. PHP去掉字符串中的数字

热门文章

  1. markdown 语法简要备忘
  2. nyoj228 士兵杀敌(5)插线问线
  3. solr进阶九:solr对数字和单个字符的搜索
  4. 用Python写一个猜数字游戏
  5. 【C++程序员学 python】python 之helloworld
  6. Maven学习之(三)Maven插件创建web项目
  7. Spring监管下的Hibernate配置文件
  8. 使用System.IO.Combine(string path1, string path2, string path3)四个参数的重载函数提示`System.IO.Path.Combine(string, string, string, string)' is inaccessible due to its protection level
  9. Spring事务处理时自我调用的解决方案 嵌套AOP
  10. 【高可用HA】Nginx (1) —— Mac下配置Nginx Http负载均衡(Load Balancer)之101实例