【发布时间】:2009-09-29 04:19:12
【问题描述】:
是否有所有 ASP.Net MVC 操作结果及其用途的列表?
我一直忙于对几乎所有事情使用 ActionResult,但我知道这是不正确的,我应该使用更具体的操作结果。
我已经用 Google 搜索过,但找不到列表。我们刚买了 Wrox 的书,但距离交付还有一个多星期,我想在那之前好好阅读一下。
您也可以自己滚动吗?是否记录在某处?
【问题讨论】:
标签: c# asp.net-mvc actionresult
是否有所有 ASP.Net MVC 操作结果及其用途的列表?
我一直忙于对几乎所有事情使用 ActionResult,但我知道这是不正确的,我应该使用更具体的操作结果。
我已经用 Google 搜索过,但找不到列表。我们刚买了 Wrox 的书,但距离交付还有一个多星期,我想在那之前好好阅读一下。
您也可以自己滚动吗?是否记录在某处?
【问题讨论】:
标签: c# asp.net-mvc actionresult
如果您使用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 5 查找此内容,请将 HttpStatusCodeResult 添加到列表中。
另外值得一提的是,返回相应动作结果的辅助方法,末尾没有“结果”一词。例如,要返回一个 HttpNotFoundResult,您将编写 return HttpNotFound("status description");。
ActionResult Class page on MSDN 具有结果类和辅助方法的完整列表。
【讨论】: