首先我们了解一下对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(); } }