一、ActionResult派生类关系图
二、常见的几种ActionResult
1、ContentResult
返回简单的纯文本内容,可通过ContentType属性指定应答文档类型,通过ContentEncoding属性指定应答文档的字符编码。可通过Controller类中的Content方法便捷地返回ContentResult对象。如果控制器方法返回非ActionResult对象,MVC将简单地以返回对象的ToString()内容为基础产生一个ContentResult对象。
2、EmptyResult
返回一个空的结果。如果控制器方法返回一个null,MVC将其转换成EmptyResult对象。
3、RedirectResult
表示一个连接跳转,相当于ASP.NET中的Response.Redirect方法。对应的Controller方法为Redirect。
4、RedirectToRouteResult
同样表示一个调转,MVC会根据我们指定的路由名称或路由信息(RouteValueDictionary)来生成Url地址,然后调用Response.Redirect跳转。对应的Controller方法为RedirectToAction和RedirectToRoute。
5、ViewResult:
表示一个视图结果,它根据视图模板产生应答内容。对应Controller方法为View。
6、PartialViewResult:
表示一个部分视图结果,与ViewResult本质上一致,只是部分视图不支持母版,对应于ASP.NET,ViewResult相当于一个Page,而PartialViewResult则相当于一个UserControl。它对应的Controller方法为PartialView。
7、JavaScriptResult:
本质上是一个文本内容,只是将Response.ContentType设置为 application/x-javascript,此结果应该和MicrosoftMvcAjax.js脚本配合使用,客户端接收到Ajax应答后,将判断Response.ContentType的值,如果是application/x-javascript,则直接eval执行返回的应答内容。此结果类型对应的Controller方法为JavaScript。
8、JsonResult:
表示一个JSON结果。MVC将Response.ContentType设置为application/json,并通过JavaScriptSerializer类将指定对象序列化为Json表示方式。需要注意,默认情况下,MVC不允许GET请求返回JSON结果,要解除此限制,在生成JsonResult对象时,将其JsonRequestBehavior属性设置为JsonRequestBehavior.AllowGet。此结果对应的Controller方法为Json。
参考资料: MVC中的ActionResult http://www.studyofnet.com/news/518.html
相关推荐
MVC3.0引入了更多内置的ActionResult子类,如JsonResult,方便返回JSON格式的数据。 6. JavaScript和Ajax改进 对JavaScript和Ajax的支持增强,使Web应用更加互动和响应。 7. 默认启用客户端验证 MVC3.0默认开启...
下面将详细介绍如何在ASP.NET MVC中利用Session进行身份验证。 首先,我们需要了解身份验证的基本概念。身份验证是确认用户身份的过程,确保只有合法的用户能够访问受保护的资源。在ASP.NET MVC中,这通常通过...
本实例将详细介绍如何在ASP.NET MVC 2.0中实现CRUD(创建、读取、更新和删除)操作。 首先,让我们从创建项目开始。在Visual Studio中,选择"文件" -> "新建" -> "项目",然后在模板列表中找到"ASP.NET MVC 2.0 Web...
- 更多自定义的ActionResult子类,可以实现特定的响应逻辑。 5. **Action筛选器** Action筛选器是MVC中的一种特性(Attribute),可以附加到Action方法上,用于执行预处理或后处理逻辑,如授权验证、日志记录、...
此外,还可以使用不同的ActionResult子类来返回不同类型的结果,如ViewResult(HTML页面)、JsonResult(JSON数据)等。 **三层架构在ASP.NET MVC中的应用** 在ASP.NET MVC中,可以实现类似Web应用程序的三层架构,...
- 在例子中,开发者需要创建一个自定义的DbContext子类,如`MyDbContext`,并在此类中声明`DbSet`属性,对应数据库中的各个表。 ```csharp public class MyDbContext : DbContext { public DbSet<MyEntity> ...
在这个简单的实例中,我们将深入探讨如何利用ASP.NET MVC4.0实现数据的列表显示、增删改查功能,并通过实体类与数据库进行交互。 首先,我们需要设置数据库连接环境。在ASP.NET MVC项目中,这通常通过`Web.config`...
因此,建议开发者使用自定义的`ActionResult`子类来替代直接写入`Response`的方法,以保持代码的可测试性。 其次,`ActionResult`类家族也进行了扩展。在Preview 3中,新增了`JsonResult`,它用于方便地序列化对象...
配置通常在`DbContext`子类中完成,并在`web.config`中指定数据库连接字符串。 ```csharp public class MyDbContext : DbContext { public DbSet<MyModel> MyModels { get; set; } } ``` **七、总结** 通过 .NET ...
`JsonResult`是ASP.NET MVC中用于返回JSON格式数据的ActionResult子类。在`ExecuteResult`方法中,它检查请求的HTTP方法是否为GET(因为默认情况下,JSON结果不允许GET请求),然后设置响应的ContentType为...
在探讨如何在ASP.NET MVC 3中实现类似Server.Transfer的功能之前,我们首先理解一下Server.Transfer是什么以及它为何在Web Forms环境中如此重要。 #### Server.Transfer简介 Server.Transfer是ASP.NET Web Forms...
JsonResult是ASP.NET MVC框架中用于返回JSON格式数据的ActionResult子类。在内部,它使用JavaScriptSerializer或Json.NET(如果已配置)将对象序列化为JSON字符串。默认情况下,日期时间会被序列化为UTC格式的ISO ...
此外,我们还可以通过配置`Seed`方法来设置初始的用户和角色数据,这通常在`DbContext`的子类(如`ApplicationDbContext`)中的`ModelCreating`方法内完成。通过`DbMigrationsConfiguration`类的`Seed`方法,我们...
MVC框架内建了多种ActionResult子类,如ContentResult、ViewResult和JsonResult等,用于返回不同类型的响应数据。例如,若需要返回XML格式的数据,可以自定义一个XmlResult类继承自ActionResult,将XML序列化逻辑...
在ASP.NET Core之前,Action方法通常返回`ActionResult`类型或其子类,如`JsonResult`、`FileResult`等。这些返回类型被用来封装不同的响应,如JSON数据、文件流或其他HTTP响应。然而,随着ASP.NET Core的发布,MVC...
MVCContrib添加了新的ActionResult子类,如JsonResult增强版、PartialViewResult等,这些结果类型使得开发者能够更方便地处理特定类型的响应,比如JSON数据或部分视图。 **扩展方法** 在C#编程中是一个强大的特性,...
首先,我们需要创建一个自定义的ActionResult子类,用于处理返回图像到客户端。在给定的代码中,我们看到一个名为`ImageResult`的类,它继承自`ActionResult`。这个类包含了一些关键属性,如`ContentType`(表示图像...
Action是控制器类中的方法,返回类型通常为`ActionResult`或其子类,表示可以返回给客户端的视图或者数据。Action方法可以被标记为Public,以便通过URL访问,同时可以使用`[NonAction]`属性防止Action被直接调用。...
MVC框架提供了一个名为`HttpPostAttribute`的特性,它是一个`ActionMethodSelectorAttribute`的子类,用于指定一个控制器的Action方法只能响应POST类型的HTTP请求。在Action方法上添加此特性,例如: ```csharp ...
`JsonResult`是`ActionResult`的一个子类,它允许我们在控制器方法中直接返回JSON对象。 1. 创建JSON响应: 要创建一个JSON响应,你需要在控制器方法中创建一个`JsonResult`实例,并传入一个要序列化的对象。例如...