理解ASP.NET MVC中的ActionResult
通常我们在一个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 |
最新文章
- “此网页上的某个 Web 部件或 Web 表单控件无法显示或导入。找不到该类型,或该类型未注册为安全类型。”
- HTCondor安装
- icePDF去水印方法
- IAP的几个问题
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
- (转)css3前缀
- NOIP2010-普及组初赛C语言解析
- Hive:添加、删除分区
- linux下 mysql数据库的备份和还原sql
- getchar getche getch的区别
- global
- mysql设置更改root密码、mysql服务器的连接、mysql常用命令
- JPEG图片扩展信息读取与修改
- [BZOJ 1588][HNOI 2002] 营业额统计
- C# JSON和对象之间互相转换
- MySQL中optimize的作用
- iOS GCD NSOperation NSThread等多线程各种举例详解
- [PIC32--IDE]Microchip PIC32开发环境的搭建
- C#自动切换Windows窗口程序,如何才能调出主窗口?
- PHP去掉字符串中的数字
热门文章
- markdown 语法简要备忘
- nyoj228 士兵杀敌(5)插线问线
- solr进阶九:solr对数字和单个字符的搜索
- 用Python写一个猜数字游戏
- 【C++程序员学 python】python 之helloworld
- Maven学习之(三)Maven插件创建web项目
- Spring监管下的Hibernate配置文件
- 使用System.IO.Combine(string path1, string path2, string path3)四个参数的重载函数提示`System.IO.Path.Combine(string, string, string, string)' is inaccessible due to its protection level
- Spring事务处理时自我调用的解决方案 嵌套AOP
- 【高可用HA】Nginx (1) —— Mac下配置Nginx Http负载均衡(Load Balancer)之101实例