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  下的视图
        }

 

posted @ 2014-07-04 17:30  天马3798  阅读(1220)  评论(0编辑  收藏  举报