理解ASP.NET MVC中的ActionResult

本文详细介绍了ASP.NET MVC中ActionResult的用法及其实现原理,包括其子类如ViewResult、RedirectResult等的功能与用途,并提供了常用返回类型的对照表。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值