一、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
相关推荐
ASP.NET MVC 将IList导出Excel文档的泛型类(继承自ActionResult)
零基础工程搭建 IIS服务器配置 系统框架分析 前后端调试 ActionResult介绍(后台发往前端) HTML帮助器、Ajax(前端发往后台) 前后端通信方法
分页、数据传输方式(ViewBag、ViewData、TempData、Model)、各种ActionResult、四种Filter(IAuthorizationFilter、IActionFilter、IResultFilter、IExceptionFilter)、HtmlHelper、路由机制、验证、layout;...
使用Json.NET和json序列化程序的ASP.NET MVC的JsonResult ActionResult。 用 您需要做的就是重写控制器内部的Json方法,以便它返回Newtonsoft.JsonResult.JsonResult而不是常规JsonResult: protected override ...
等方法返回的都是ActionResult的子类。并且Core把MVC跟WebApi合并之后Action的返回值体系也有了很大的变化。 ActionResult类 ActionResult类是最常用的返回值类型。基本沿用了之前Asp.net MVC的那套东西,使用它大...
1.1.3 mvc在web框架中的应用 2 1.1.4 asp.net mvc 3的发展历程 3 1.1.5 razor视图引擎 5 1.1.6 验证的改善 8 1.1.7 强大的javascript支持 9 1.1.8 高级功能 9 1.1.9 asp.net mvc 3特性总结 10 1.2 创建asp...
Controller中调用的方式: public ActionResult CheckCode() { ValidateCode2 vCode = new ValidateCode2(); string code = vCode.CreateRandomCode(4); Session["ValidateCode"] = code; byte[] bytes = ...
本文实例分析了ASP.NET MVC中的视图生成过程。分享给大家供大家参考。具体如下: 在 ASP.NET MVC 中,我们将前端的呈现划分为三个独立的部分来实现,Controller 用来控制用户的操作,View 用来控制呈现的内容,Model...
ASP.NET MVC的路由系统通过对HTTP请求的解析得到表示Controller、Action和其他相关的数据,并以此为依据激活Controller对象,调用相应的Action方法,并将方法返回的ActionResult写入HTTP回复中。为了更好的演示其...
public ActionResult IndexList() { string uLoginName = Request["U_LoginName"] == null ? "" : Request["U_LoginName"]; string uName = Request["U_RealName"] == null ? "" : Request["U_RealName"]; ...
本教程将向您介绍使用ASP.NET SignalR 2和ASP.NET MVC 5进行实时Web应用程序开发。本教程使用与SignalR入门教程相同的聊天应用程序代码,但演示如何将其添加到MVC 5应用程序。 在这个主题中,您将学习以下SignalR...
2.2、Asp.net中常见的HttpHandler类型 ...................................................................................................... 7 2.3、自定义HttpHandler。 .....................................
本文实例讲述了ASP.NET中MVC传递数据的几种形式。分享给大家供大家参考。具体如下: 在Asp.net mvc开发中,Controller需要向View提供Model,然后View将此Model渲染成HTML。这篇文章介绍三种由Controller向View传递...
本文将介绍Asp.net MVC中常用的八个扩展点并举例说明。 一、ActionResult ActionResult代表了每个Action的返回结果。asp.net mvc提供了众多内置的ActionResult类型,如:ContentResult,ViewResult,...
[Authorize]public ActionResult Index() 标记的方式,可以实现所标记的ACTION必须是认证用户才能访问; 通过使用 [Authorize(Users=”username”)] 的方式,可以实现所标记的ACTION必须是某个具体的用户才能访问,...
这一节我们来讲讲在MVC中如何进行文件的上传,我们逐步深入,一起来看看。 Upload File(一) 我们在默认创建的项目中的Home控制器下添加如下: public ActionResult UploadFile() { return View(); } ...
AjaxFileUpload代码Demo 在.net mvc下使用源代码 public ActionResult Upload() { NameValueCollection nvc = System.Web.HttpContext.Current.Request.Form; HttpFileCollection hfc = System.Web.HttpContext...
在MVC中,当涉及到强类型编辑页,如果有select元素,需要根据当前Model的某个属性值,让Select的某项选中。本篇只整理思路,不涉及完整代码。 □ 思路 往前台视图传的类型是List,把SelectListItem选中项的Selected...
using System.Web.Mvc; using ContosoUniversity.DAL; using ContosoUniversity.Models; using PagedList; namespace ContosoUniversity.Controllers { public class StudentsController : Controller { private ...