ASP.NET Core - 操作结果

ASP.NET Core - 操作结果 首页 / ASP.Net Core入门教程 / ASP.NET Core - 操作结果

在本章中,无涯教程将讨论Action输出,在前面的章节中,一直在使用简单的简单C#类作为控制器,这些类不是从基类派生的,您可以将这种方法与MVC一起使用,但是从Microsoft.AspNet.Mvc命名空间中提供的控制器基类派生控制器更为常见。

ActionResult类是所有操作输出的基础,以下是不同类型的操作输出及其行为的列表。

名称行为
ContentResult返回字符串
FileContentResult返回文件内容
FilePathResult返回文件内容
FileStreamResult返回文件内容
EmptyResult不返回任何内容
JavaScriptResult返回执行脚本
JsonResult返回JSON格式的数据
RedirectToResult重定向到指定的URL
HttpUnauthorizedResult返回403 HTTP状态代码
RedirectToRouteResult重定向到其他操作/不同的控制器操作
ViewResult已收到视图引擎的响应
PartialViewResult已收到视图引擎的响应

例子1

让无涯教程通过打开 HomeController 类并从基于控制器的类中派生一个简单的示例,该基类位于 Microsoft.AspNet.Mvc 命名空间中。

using Microsoft.AspNet.Mvc; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks;  

namespace FirstAppdemo.Controllers  { 
   public class HomeController : Controller { 
      public ContentResult Index() { 
         return Content("Hello, World! this message is from 
            Home Controller using the Action Result"); 
      } 
   } 
}

现在,您可以看到index方法正在返回ContentResult,它是输出类型之一,并且所有这些输出类型最终实现了一个接口,即 ActionResult 。

在Index方法中,已将字符串传递到Content方法中,这个Content方法产生一个ContentResult,这意味着Index方法现在将返回 ContentResult 。

保存 HomeController 类,然后在浏览器中运行该应用程序,它将产生以下页面。

Action Result

例子2

再举一个例子。在项目中创建一个新文件夹,并将其命名为 Models 。在"Models"文件夹中,要添加一个可以表示Employee的类。

链接:https://www.learnfk.comhttps://www.learnfk.com/asp.net_core/asp.net-core-action-results.html

来源:LearnFk无涯教程网

Models

如上面的屏幕截图所示,在"Name"字段中输入 Employee.cs 。在这里,Employee类的实现包含两个属性。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks;  

namespace FirstAppDemo.Models { 
   public class Employee { 
      public int ID { get; set; } 
      public string Name { get; set} 
   } 
}

在 HomeController 的Index操作方法中,想返回一个Employee对象,以下是HomeController的实现。

using FirstAppDemo.Models; 
using Microsoft.AspNet.Mvc; 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks;  

namespace FirstAppdemo.Controllers { 
   public class HomeController : Controller { 
      public ObjectResult Index() { 
         var employee = new Employee { ID = 1, Name = "Mark Upston"}; 
         return new ObjectResult(employee); 
      } 
   } 
} 

现在,返回另一种类型的输出,称为 ObjectResult ,如果需要ObjectResult,则需要创建或实例化ObjectResult并将一些 model 对象传递给它。

  • ObjectResult在MVC框架中是特殊的,因为当返回ObjectResult时,MVC框架会查看该对象。

  • 该对象应该序列化为XML或JSON或其他某种格式,最终,将根据您在启动时提供给MVC的配置信息来做出决定,默认值为JSON输出。

保存所有文件并刷新浏览器。您将看到以下输出。

无涯教程网

Mark Upston

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

趣谈网络协议 -〔刘超〕

白话法律42讲 -〔周甲徳〕

Web协议详解与抓包实战 -〔陶辉〕

即时消息技术剖析与实战 -〔袁武林〕

高并发系统设计40问 -〔唐扬〕

图解 Google V8 -〔李兵〕

爆款文案修炼手册 -〔乐剑峰〕

手把手带你写一门编程语言 -〔宫文学〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

好记忆不如烂笔头。留下您的足迹吧 :)