理解ASP.NET MVC中的ActionResult

日期: 2009-12-13 作者:ITPUB论坛 来源:TechTarget中国 英文

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

  ·ActionResult及其子类的UML图

  有关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中的方法返回对象

  ViewViewResult

  RedirectRedirectResult

  RedirectToActionRedirectToActionResult

  RedirectToRouteRedirectToRouteResult

  JsonJsonResult

  JavaScriptResultJavaScriptResult

  ContentContentResult

  FileFileContentResult、FilePathResult、FileStreamResult

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 如何建立自己的UML图库

    没有适当的沟通,想法和计划的执行就会出错,或者被遗忘。统一建模语言经常用于各种睡吧样的蓝图中,来映射出系统计划。事实上,UML已经成为许多软件开发人员选项。

  • 心态决定统一建模语言成败

    太过于追逐流行软件,对开发人员的职业生涯百害而无一利,有些专家这些说。虽然编程语言来来去去,但确实有一些技能和属性需要磨练,这可以带来一份薪水丰厚的工作。

  • ASP.NET Web Forms的改进

    虽然ASP.NET Web Forms不是vNext计划的一部分,但它并没有被忽视。作为Visual Studio 2013 Update 2的一部分,它重新开始支持新工具、EF集成和Roslyn。

  • 前期设计够用就好

    前期做完整设计的瀑布模型时代已经结束了吗? 本文建议前期做足够的架构设计,以便提供项目启动所需的结构,统一团队愿景以及评估可能的风险。