.net MVC中ActionResult可以返回的视图

Posted 欢迎来到知识乐园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net MVC中ActionResult可以返回的视图相关的知识,希望对你有一定的参考价值。

 

首先我们了解一下对action的要求:

1.必须是一个public方法2.必须是实例方法3.不能被重载4.必须返回ActionResult类型

ViewReult 返回相应的视图

public ActionResult About()
     {
        return View(); // 参数可以返回model对象
     }

 

ContentResult 返回字符串

 public ActionResult Index()
        {
            return Content("");
        }

 


RedirectResult 重定向

//1.重定向跳转地址
public ActionResult Demo()
        {
            return Redirect(url: "http://www.baidu.com");
        }

 

RedirectToActionResult 根据路由重定向

//2.重定向跳转到同控制器下面的方法

 public ActionResult DemoAction()
        {
            return RedirectToAction("Index");
        }
//3.重定向跳转到指定控制器的方法
 public ActionResult DemoAction2()
        {
            return RedirectToAction("Index",controllerName:"home1");
        }

 

FileResult 向客户端输出文件

 public ActionResult GetFile(string name)
        {
            //第一个是路径 第二个是文件类型
            return File(basePath+ @"\\" + name, contentType:  "image/jpg");
        }
        private static string basePath = @"想保存的文件夹地址";
        public ActionResult UploadFile(HttpPostedFileBase file)
        {
            var filename = DateTime.Now.Ticks + file.FileName;
            file.SaveAs(filename: basePath + @"\\" + filename);
            return Content(filename);
        }

 

JsonResult 向客户端返回对象Json序列化后的结果

  public ActionResult GetJson()
        {
            return Json(data: new { id = 1, name = "张三" });
        }

 

HttpStatusCodeResult 显示不同的状态码信息

 public ActionResult GetCode()
        {
            //返回404
           // return new HttpStatusCodeResult(System.Net.HttpStatusCode.NotFound);
          
            //返回服务器错误
            return new HttpStatusCodeResult(System.Net.HttpStatusCode.InternalServerError);
        }

 

PartialViewResult 返回部分页面

 

   /// <summary>
        /// 查看部分布局页面
        /// </summary>
        /// <returns></returns>
        /// 调用是下面的Showindex
        /// 调用这个页面需要在另外的视图页面写上方法 @html.Action("GetPartial") 一个视图中可以写多个  
        /// 写在shard中的分部页面在视图中调用是 @Partial("想调用的母版页里面的名字",new User{name="李四"}) 第二个参数是传递的值
        //public PartialViewResult GetPartial()
        //{
        //    return PartialView();
        //}
        public ActionResult GetPartial()
        {
            return PartialView();
        }
        public ActionResult Showindex()
        {
            return View();
        }
    }

 

以上是关于.net MVC中ActionResult可以返回的视图的主要内容,如果未能解决你的问题,请参考以下文章

Asp.net MVC 中Controller返回值类型ActionResult

如何在 ASP.NET MVC 控制器中更改返回的 ContentType (ActionResult)

ASP.NET MVC 控制器方法必须返回 ActionResult 吗?

ASP.NET MVC ActionResult的其它返回值

从具有多个参数 net core mvc 的控制器调用另一个 actionresult

如何在 .NET MVC3 中截获当前 actionresult 的输出流?