MVC之ActionResult

一、所有的Controller都继承自System.Web.Mvc.Controller

  目前ASP.NET MVC3默认提供了多种ActionResult的实现,在System.Web.Mvc命名空间里。

  其中ActionResult是一个抽象类,所有一下的Result都继承自它,因此如果一个Action的返回值是ActionResult的话,可以返回以下任意一种类型的值,但是如果限制死了返回值为以下任意一种Result,则只能够返回指定的类型的数据了。

  • ContentResult
  • EmptyResult
  • FileResult
  • HttpStatusCodeResult
  • HttpNotFoundResult
  • HttpUnauthorizedResult
  • JavaScriptResult
  • JsonResult
  • RedirectResult
  • RedirectToRouteResult
  • ViewResultBase
  • PartialViewResult
  • ViewResult

        public ContentResult Index()
        {
            return Content("测试");       //浏览器显示测试
        }

        public EmptyResult Index()
        {
            return new EmptyResult();     //浏览器显示空白
        }

        public FileResult Index()
        {
            return File(Server.MapPath("~/demo.jpg"), "application/x-jpg", "demo.jpg");        //浏览器直接下载demo.jpg
        }

        public HttpNotFoundResult Index()
        {
            return HttpNotFound();     //报404错误
        }

        public HttpUnauthorizedResult Index()
        {
            return new HttpUnauthorizedResult();     //未授权的页面,跳转到/Account/LogOn
        }

        public JavaScriptResult hello()
        {
            string js = "alert(‘你还好吗?‘);";
            return JavaScript(js);      //页面显示 alert(‘你还好吗?‘);} 并不会执行这个js,要执行这个js可以在任意视图里<script src="@Url.Action("hello")" type="text/javascript"></script>
        }

        public JsonResult Index()
        {
            var jsonObj = new
            {
                Id = 1,
                Name = "小铭",
                Sex = "男",
                Like = "足球"
            };

            return Json(jsonObj, JsonRequestBehavior.AllowGet);     //返回一个JSON,可以将此代码输出到JS处理展示
        }

        public RedirectResult Index()
        {
            return Redirect("~/demo.jpg");      //可以跳转到任意一个路径
            return Redirect("http://www.baidu.com");
            return Redirect("/list");
        }

        public RedirectToRouteResult Index()
        {
            return RedirectToRoute(     //跳转到指定Action
            new
            {
                controller = "Home",
                action = "GetName"
            });
        }

        public ViewResult Index()
        {
            return View();          //这个是最常用的,返回指定视图
            //return View("List");
            //return View("/User/List");
        }

        public PartialViewResult Index()
        {
            return PartialView();          //部分视图,可以作为一个部分引入另外一个视图中,跟View大致相同
        }

MVC之ActionResult

时间: 2024-10-19 17:37:53

MVC之ActionResult的相关文章

Asp.net MVC 之 ActionResult

Action运行完后,回传的值通过ActionResult 类别或者其衍生的类别操作.ActionResult是一个抽象类,因此,Asp.net MVC 本身就实作了许多不同类型的ActionResult的子类别. ActionResult 子类以及说明: 常用的ViewResult用来回传一个View,即HTML的页面内容: PartialViewResult用来回传一个View,但是这个View是PartialView: RedirectResult用来将网页转向其他的网址: EmptyRe

.NET MVC之ActionResult

.NET MVC之ActionResult ActionResult是所有Controler返回值的父类.各种结果都是由ActionResult包装后发往客户端的. 继承结构 System.Object System.Web.Mvc.ActionResult System.Web.Mvc.ContentResult System.Web.Mvc.EmptyResult System.Web.Mvc.FileResult System.Web.Mvc.HttpStatusCodeResult Sy

asp.net mvc之ActionResult

Web服务器接收到一个客户端请求以后,会对请求予以相应,而这个响应是通过Response来控制的, 但是在asp.net mvc 里,这部分的工作是由ActionResult来完成的, ActionResult是一个抽象类,所以具体的工作还是由很多个子类来完成, 具体的子类有 EmptyResult, ContentResult (通过Content,ContentEncoding,ContentType 分别设置返回的内容,字符编码格式以及媒体类型), FileResult(FileConte

C# MVC 自定义ActionResult实现EXCEL下载

前言 在WEB中,经常要使用到将数据转换成EXCEL,并进行下载.这里整理资料并封装了一个自定义ActionResult类,便于使用.如果文章对你有帮助,请点个赞. 话不多少,这里转换EXCEL使用的NPOI.还是用了一下反射的知识,便于识别实体类的一些自定义特性. 一.自定义一个Attribute using System; namespace WebSeat.Entity.Member.Attributes { /// <summary> /// 说明:Excel属性特性 /// 创建日期

ASP.NET MVC 中 ActionResult

ActionResult 是一个抽象(abstract)类,ViewResult 只是ActionResult 的一个实现(implementation).如果你确认你返回的是一个视图(view),你可以直接返回类型为ViewResult.ActionResult 有很多的派生类,如果你很确定你要返回的类型,你可以明确的返回该类型.如果你并不是很清楚,或者你根本不想去理解这些东西,你可以直接返回这些派生类的基类:ActionResult .

MVC 返回ActionResult 类型

1. Content() 返回文本类型,比如"Hello World!". 2.File() 返回文件类型,如PDF,JPG. 3.HttpNotFound() 返回404 HTTP 状态码. 4.JavaScript() 返回Javascipt 内容. 如 function test(){alert('Hello World');} 5.Json() 返回JSON 数据. 6.PartialView() 返回部分视图内容. 7.Redirect() 返回一个包含 302 跳转状态值,

ASP.NET MVC中ActionResult的不同返回方式

1.返回视图 return View();//返回方法名对应的视图 return View("aaa");//返回名称为aaa的视图 2.返回文本内容 return Content("hello world"); 3.返回重定向 return Redirect("https://www.baidu.com"); return Redirect("~/Test/1.html"); return RedirectToAction(

MVC中几种常用ActionResult

一.定义 MVC中ActionResult是Action的返回结果.ActionResult 有多个派生类,每个子类功能均不同,并不是所有的子类都需要返回视图View,有些直接返回流,有些返回字符串等.ActionResult是一个抽象类,它定义了唯一的ExecuteResult方法,参数为一个ControllerContext,下面为您介绍MVC中的ActionResult 的用法 二.什么是ActionResult ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回

MVC ActionResult派生类关系图

态度决定一切,我要改变的不仅仅是技术,还有对待事情的态度! 先上个图: 由上图可知,ActionResult为根节点,其下有很多子节点!下面简单介绍下: MVC中ActionResult是Action的返回结果.ActionResult 有多个派生类,每个子类功能均不同,并不是所有的子类都需要返回视图View,有些直接返回流,有些返回字符串等.ActionResult是一个抽象类,它定义了唯一的ExecuteResult方法,参数为一个ControllerContext,下面为您介绍MVC中的A