Action重定向总结
[HttpPost] public ActionResult StudentList( string StudName, string studName, DateTime BirthDay, FormCollection form, string controller, string Action, StudentModels student) { //其中StudName为aspx页面中标签的name属性(StudName不区分大小写) //其中BirthDay为页面中标签的name属性(类型可自己指定【需转换成功才可以】,这里为DateTime)同样BirthDay不区分大小写 //其中controller,Action为路由信息(controller,Action不区分大小写) //FormCollection包含了post回来的信息 通过form[]来取值 //如果使用强类型绑定 可通过实体回传值 这里实体为StudentModels //同样可以使用Request.Form[] Request.QueryString[] Request[] 来取值 不过此Request非WebForm中的Request 这里的Request是RequestBase抽象类的实例 WebForm中Request是封装类 HttpRequest的实例 #region 到要经过执行controller里方法后 显示出页面。 //return RedirectToAction("Index");//可跳出本controller //return RedirectToRoute(new {controller="Home",action="Index"});//可跳出本controller //Response.Redirect("Index");//只能使用本controller下的方法名称。返回值为void //return Redirect("Index");//只能使用本controller下的方法名称。 #endregion #region 直接显示出对应的页面 不经过执行controller的方法。 //return View("Index");//被controller 的其他视图//return View("~/Views/Home/Index.aspx");//任意controller下的其他视图 #endregion return View(); }
//重定向跳转 到指定视图 //1. 使用视图名称创建一个呈现视图的 System.Web.Mvc.ViewResult 对象。(不经过Action 方法) return View("RedirectOne"); return View("~/Views/Two/RedirectOne.cshtml"); //重定向跳转 到本controller下的action return Redirect("RedirectOne"); Response.Redirect("RedirectOne"); return null; //重定向跳转 到其他或本controller下的action //本controller return RedirectToAction("RedirectOne"); //其他controller return RedirectToAction("MasterOne", "One"); //本controller return RedirectToRoute(new { action = "RedirectOne" }); //其他controller return RedirectToRoute(new { controller = "One", action = "MasterOne" });
//跨区域 重定向 //其他controller return RedirectToAction("Index", "BlogIndex", new { area="Blog"}); return RedirectToRoute( new { area = "Blog" ,controller="BlogIndex",action="Index"});
4.加载其他视图的方式
//返回 其他的视图,不经过controller //可以 传递 model 参数 public PartialViewResult PartialTwo() { List<string> list = new List<string>() { "姓名", "密码" }; return PartialView(); return PartialView("PartialOne", list);//本controller 下的视图,带参数 return PartialView("~/Views/Redirect/PartialOne.cshtml", list);//其他controller 下的视图 带参数 return PartialView("~/Views/LayoutOne/PageOne.cshtml");//其他controller 下的视图 }