首页 > 代码库 > MVC之ActionResult

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="http://www.mamicode.com/@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