本文实例为大家分享了mvc重定向的几种方式,供大家参考,具体内容如下
在RouteConfig添加一个简单的路由
1
2
3
4
5
6
7
8
|
//新增路由 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
10
11
12
13
14
|
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
10
11
12
13
14
15
16
|
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
8
|
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方法返回给客户端
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。