返回mvc 重定向......登陆

mvc 重定向的几种方式

巴扎黑2016-11-09 15:56:08603

在RouteConfig添加一个简单的路由

1

2

3

4

5

6

 //新增路由            routes.MapRoute(

                 name: "Article",

                 url: "Detial/{id}",

                 defaults: new { controller = "Article", action = "Detial", id = UrlParameter.Optional },

                 constraints: new { id = @"\d+" }                 //namespaces: new string[] { }

            );

302重定向

1

2

3

4

5

6

7

8

9

public ActionResult UrlTest1()

        {//302

            return Redirect("/Article/Detial/1");

        }        public ActionResult UrlTest2()

        {//302

            return RedirectToAction("Detial""Article"new System.Web.Routing.RouteValueDictionary(new { id = 2 }));            //return RedirectToAction("Detial", "Article",new { id  = 1});        }        public ActionResult UrlTest3()

        {//302

            return RedirectToRoute("Article"new System.Web.Routing.RouteValueDictionary(new { id = 3 }));            //return RedirectToRoute("Article", new { id = 1 });

        }

301重定向

1

2

3

4

5

6

7

8

9

 public ActionResult UrlTest4()

        {//301

            return RedirectPermanent("/Article/Detial/4");

        }        public ActionResult UrlTest5()

        {//301

            return RedirectToActionPermanent("Detial""Article"new System.Web.Routing.RouteValueDictionary(new { id = 5 }));            //return RedirectToActionPermanent("Detial", "Article", new { id = 1 });        }        public ActionResult UrlTest6()

        {//301

            return RedirectToRoutePermanent("Article"new System.Web.Routing.RouteValueDictionary(new { id = 6 }));            //return RedirectToRoutePermanent("Article", new { id = 1 });

        }

也可以自己设置

1

2

3

4

5

6

7

  public ActionResult UrlTest7()

        {//可设置

            return new RedirectToRouteResult("Article"new System.Web.Routing.RouteValueDictionary(new { id = 7 }), false) { };

        }        public ActionResult UrlTest8()

        {//可设置

            return new RedirectResult("/Article/Detial/8", false);

        }

要注意的是,在View()中指定不同的视图不是重定向

1

2

3

4

public ActionResult UrlTest9()

        {//200

            return View("Detial", null, new { id = 9 });

        }

第二个代码段和第三个代码段中的方法,都会用第四个代码段中的形式最后以Response.Redirect方法返回给客户端


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送