MVC(六、ActionResult 返回类型 )

2017-2-10来源:心得技巧人气:1119

1、ActionResult简介

ActionResult是一个抽象类, 在Action中返回的都是其派生类。 ActionResult派生类:

类名 抽象类 父类 功能
ContentResult 根据内容的类型和编码,数据内容
EmptyResult 空方法
FileResult abstract 写入文件内容,具体的写入方式在派生类中
FileContentResult FileResult 通过 文件byte[] 写入文件
FilePathResult FileResult 通过 文件路径 写入文件
FileStreamResult FileResult 通过 文件Stream 写入文件
HttpUnauthorizedResult 抛出401错误
javaScriptResult 返回Javascript文件
JsonResult 返回Json格式的数据
RedirectResult 使用Response.Redirect重定向页面
RedirectToRouteResult 根据Route规则重定向页面
ViewResultBase abstract 调用IView.Render()
PartialViewResult ViewResultBase 调用父类ViewResultBase 的ExecuteResult方法. 重写了父类的FindView方法. 寻找用户控件.ascx文件
ViewResult ViewResultBase 同上

2、ViewResult

public ActionResult ViewResult() {   return View(); }

3、ContentResult

public ActionResult ContentResult() { return Content("Hi, 我是ContentResult结果"); }

4、EmptyResult

public ActionResult EmptyResult() {   //空结果当然是空白了!   //至于你信不信, 我反正信了   return new EmptyResult(); }

5、FileResult

public ActionResult FileResult() {   var imgPath = Server.MapPath("~/demo.jpg");   return File(imgPath, "application/x-jpg", "demo.jpg"); }

6、HttpNotFoundResult

public ActionResult HttpNotFoundResult() {   return HttpNotFound("Page Not Found"); }

7、HttpUnauthorizedResult

public ActionResult HttpUnauthorizedResult() {   //未验证时,跳转到Logon   return new HttpUnauthorizedResult(); }

8、JavaScriptResult

public ActionResult JavaScriptResult() {   string js = "alert(\"Hi, I'm JavaScript.\");";   return JavaScript(js); }

9、JsonResult

public ActionResult JsonResult() {   var jsonObj = new {   Id = 1,   Name = "小铭",   Sex = "男",   Like = "足球"   };   return Json(jsonObj, JsonRequestBehavior.AllowGet); }

10、RedirectResult

public ActionResult RedirectResult() {   return Redirect("~/demo.jpg"); }

11、RedirectToRouteResult

public ActionResult RedirectToRouteResult() {   return RedirectToRoute(new { controller = "Hello", action = "" }); }

12、PartialViewResult

public ActionResult PartialViewResult() {   return PartialView(); }