Action运行完后,回传的值通过ActionResult 类别或者其衍生的类别操作。ActionResult是一个抽象类,因此,Asp.net MVC 本身就实作了许多不同类型的ActionResult的子类别。

ActionResult 子类以及说明:

常用的ViewResult用来回传一个View,即HTML的页面内容;

PartialViewResult用来回传一个View,但是这个View是PartialView;

RedirectResult用来将网页转向其他的网址;

EmptyResult用来返回一个空白的页面;

ContentResult返回一个文字属性(文本内容);

FileResult返回一个二进制的文档;

FileContentResult 返回一个可以下载的二进制文件;

FilePathResult返回一个可以下载的并且制定路径的二进制文件;

FileStreamResult返回一个可以下载的流式文件;

JsonResult返回一个JSON结果;

JavaScriptResult返回一个JavaScript对象。

这些都是继承自ActionResult的类别,也可以用来当做Action 的类型。

但是我们经常在Controller中定义的返回类型为ActionResult, 但是返回的值经常是别的,比如:

 //
// GET: /Product/
public ActionResult Index()
{
return View();
}

这是以为View返回的对象是ViewResult.

Controller常见的方法Redirect返回的对象是RedirectResult;

RedirectToAction返回的对象是RedirectToActionResult;

RedirectToRoute返回的对象是RedirectToRouteResult;

Json返回的对象是JsonResult;

JavaScriptResult返回的对象是JavaScriptResult;

Content返回的对象是ContentResult;

File返回的对象是FileContentResult、FilePathResult、FileStreamResult等;

下面是几个例子

返回PartialView

        public ActionResult ProductList()
{
ProductBLL productBLL = new ProductBLL(HttpContext.Application["EFConnectionString"].ToString()); IEnumerable<Product> products = productBLL.ListProducts(); return PartialView("~/Views/InStock/_Products.cshtml",products);
}

返回Json

         public ActionResult RetrieveProduct(int id)
{
ProductBLL productBLL = new ProductBLL(HttpContext.Application["EFConnectionString"].ToString()); Product product = productBLL.RetrieveProduct(id); return Json(product,JsonRequestBehavior.AllowGet);
}

返回pdf

         public ActionResult LoadPdfFile()
{
string path = @"C:\ZJF\My Team Solutions\Allure\Web\BackOfficeV2\Google_Merchant_Center_快速操作手册.pdf";
FileStream stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite); return File(stream, "application/pdf");
}

Asp.net MVC 之 ActionResult的更多相关文章

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

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

  2. asp.net mvc之ActionResult

    Web服务器接收到一个客户端请求以后,会对请求予以相应,而这个响应是通过Response来控制的, 但是在asp.net mvc 里,这部分的工作是由ActionResult来完成的, ActionR ...

  3. ASP.NET MVC自定义ActionResult实现文件压缩

    有时候需要将单个或多个文件进行压缩打包后在进行下载,这里我自定义了一个ActionResult,方便进行文件下载 using System; using System.Collections; usi ...

  4. ASP.NET MVC 拓展ActionResult实现Html To Pdf 导出

    之前实现了html直接转换为word文档的功能,那么是否也同样可以直接转换为pdf文档呢,网上搜了下html to pdf 的开源插件有很多 如:wkhtmltopdf,pdfsharp,itexts ...

  5. ASP.NET MVC 中 ActionResult 和 ViewResult 在使用上的区别

    如果确认你返回的是一个视图(view),你可以直接返回类型为ViewResult. 如果你并不是很清楚,或者你根本不想去理解这些东西,你可以直接返回ActionResult

  6. Asp.net MVC 控制器ActionResult的例子

    ActionResult 父类型 ViewResult View() 多重载应用 PartialViewResult PartialView() 部分试图 New EmptyResult()  空 如 ...

  7. Asp.net MVC 之ActionResult

    ActionResult 派生出以下子类: ViewResult 返回一个网页视图 PartialViewResult 返回一个网页视图,但不适用布局页. ContentResult 返回一段字符串文 ...

  8. ASP.NET MVC中ActionResult的不同返回方式

    1.返回视图 return View();//返回方法名对应的视图 return View("aaa");//返回名称为aaa的视图 2.返回文本内容 return Content ...

  9. 【转】ASP.NET MVC学习笔记-Controller的ActionResult

    1. 返回ViewResult public ActionResult Index()   {       ViewData["Message"] = "Welcome ...

随机推荐

  1. Python即时网络爬虫项目: 内容提取器的定义(Python2.7版本)

    1. 项目背景 在Python即时网络爬虫项目启动说明中我们讨论一个数字:程序员浪费在调测内容提取规则上的时间太多了(见上图),从而我们发起了这个项目,把程序员从繁琐的调测规则中解放出来,投入到更高端 ...

  2. sleep函数——Gevent源码分析

    gevent是一个异步I/O框架,当遇到I/O操作的时候,会自动切换任务,从而能异步地完成I/O操作 但是在测试的情况下,可以使用sleep函数来让gevent进行任务切换.示例如下: import ...

  3. 基于C#—WPF的扫雷游戏

    自学教材:<C#入门经典(第六版)>,1月28日购入,1月29日到2月9日学习了前十六章,由于有C语言基础,在语法阶段学习起来比较轻松,不过在接触到面向对象的时候遇到了一些困难,对于一些概 ...

  4. mvn打包发布

    一:打包 cmd进入工作目录运行命令 1: mvn clean 2: mvn install  3: mvn clean compile    4: mvn package -DiskipTest  ...

  5. js阻止事件冒泡的方法

    /********************************************js方法*************************************************** ...

  6. Histats申请Counter网站计数器 - Blog透视镜

    为了计算网页被浏览的次数,访客人数等统计数据,作为未来分析之用,可以向Histats申请免费的Counter网站计数器,它的功能相当齐全,同时也会保留一段时间的资料,当作统计比较的资料,更可以进一步付 ...

  7. order by 中 使用decode

    表内容如下: 实现以name字段中的ABCDE的顺序排序,以及按照money字段从小到大排序. select name,money from t2 ,,,,) , money

  8. C pointers

    指向整型数组指针int (*p)[10] = matrix;增加这个指针的值使它指向下一个整型数组 指向整型指针int *pi = &matrix[0][0];int *pi = &m ...

  9. FTA

    FTA - 维基百科,自由的百科全书 FTA 维基百科,自由的百科全书   跳转至: 导航. 搜索 FTA可以指: 自由贸易协定(Free Trade Agreement) 自由贸易区(Free Tr ...

  10. Zookeeper 3、Zookeeper工作原理(详细)

    1.Zookeeper的角色 » 领导者(leader),负责进行投票的发起和决议,更新系统状态 » 学习者(learner),包括跟随者(follower)和观察者(observer),follow ...