通常我们在一个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中的方法返回对象
ViewViewResult
RedirectRedirectResult
RedirectToActionRedirectToActionResult
RedirectToRouteRedirectToRouteResult
JsonJsonResult
JavaScriptResultJavaScriptResult
ContentContentResult
FileFileContentResult、FilePathResult、FileStreamResult
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
如何建立自己的UML图库
没有适当的沟通,想法和计划的执行就会出错,或者被遗忘。统一建模语言经常用于各种睡吧样的蓝图中,来映射出系统计划。事实上,UML已经成为许多软件开发人员选项。
-
心态决定统一建模语言成败
太过于追逐流行软件,对开发人员的职业生涯百害而无一利,有些专家这些说。虽然编程语言来来去去,但确实有一些技能和属性需要磨练,这可以带来一份薪水丰厚的工作。
-
ASP.NET Web Forms的改进
虽然ASP.NET Web Forms不是vNext计划的一部分,但它并没有被忽视。作为Visual Studio 2013 Update 2的一部分,它重新开始支持新工具、EF集成和Roslyn。
-
前期设计够用就好
前期做完整设计的瀑布模型时代已经结束了吗? 本文建议前期做足够的架构设计,以便提供项目启动所需的结构,统一团队愿景以及评估可能的风险。