本文实例为大家分享了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方法返回给客户端
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。