【问题标题】:What are all the ASP.Net MVC Action Results?什么是 ASP.Net MVC 操作结果?
【发布时间】:2009-09-29 04:19:12
【问题描述】:

是否有所有 ASP.Net MVC 操作结果及其用途的列表?

我一直忙于对几乎所有事情使用 ActionResult,但我知道这是不正确的,我应该使用更具体的操作结果。

我已经用 Google 搜索过,但找不到列表。我们刚买了 Wrox 的书,但距离交付还有一个多星期,我想在那之前好好阅读一下。

您也可以自己滚动吗?是否记录在某处?

【问题讨论】:

    标签: c# asp.net-mvc actionresult


    【解决方案1】:

    如果您使用Reflector 打开System.Web.Mvc,您将看到有几个继承自抽象类ActionResult 的派生类型。它们是:

    System.Web.Mvc.ContentResult
    System.Web.Mvc.EmptyResult
    System.Web.Mvc.FileResult
        System.Web.Mvc.FileContentResult
        System.Web.Mvc.FilePathResult
        System.Web.Mvc.FileStreamResult
    System.Web.Mvc.HttpUnauthorizedResult
    System.Web.Mvc.JavaScriptResult
    System.Web.Mvc.JsonResult
    System.Web.Mvc.RedirectResult
    System.Web.Mvc.RedirectToRouteResult
    System.Web.Mvc.ViewResultBase
        System.Web.Mvc.PartialViewResult
        System.Web.Mvc.ViewResult
    

    是的,您可以通过从抽象类 ActionResult 继承来滚动您自己。您可以使用 Reflector 研究上面列表中的一个或多个 ActionResult,以了解如何完成此操作。

    源代码也在这里:

    http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471

    【讨论】:

    • 在 ASP.NET MVC 的情况下,源是可用的。使用反射器可能更方便,但源中有额外的价值(cmets 等)。
    • 谢谢马克。也应该看看。与此同时,我设法创建了自己的 ActionResult,它返回了“Slappy”这个词。所以这很有趣。 :) 谢谢大家。
    【解决方案2】:

    如果您正在为 ASP.NET MVC 5 查找此内容,请将 HttpStatusCodeResult 添加到列表中。

    另外值得一提的是,返回相应动作结果的辅助方法,末尾没有“结果”一词。例如,要返回一个 HttpNotFoundResult,您将编写 return HttpNotFound("status description");

    ActionResult Class page on MSDN 具有结果类和辅助方法的完整列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-07
      相关资源
      最近更新 更多