RedirectToAction重定向到不匹配的MapRoute

时间:2014-08-06 12:39:47

标签: asp.net-mvc asp.net-mvc-5

我有两条地图路线

routes.MapRoute(
    name: "RawMode",
    url: "raw/{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, rawmode="1" }
);

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, rawmode = "0" }
);

第一次检查是否存在" raw"单词作为url的一部分,以启用原始应用程序模式。一切正常。但是,当我在某个网址RedirectToAction("Index","Home")中使用http://domain/Home/TestPage时,它始终需要raw应用程序模式依次检测到第一个MapRoute。即http://domain/raw/Home/Index而不是http://domain/Home/Index

如果我试图颠倒我的地图路线的顺序,确实rawmode在浏览器中直接调用时确实不起作用,例如http://domain/raw/Home/Index。如果我RedirectToAction页面rawmode页面而不是一般视图,我怎样才能确保rawmode重定向到{{1}}?

1 个答案:

答案 0 :(得分:2)

使用return RedirectToRoute("Default")它会将您重定向到

 http://domain/Home/Index