如何禁用主路由上的区域路由

时间:2013-09-28 04:50:10

标签: c# asp.net-mvc routes asp.net-mvc-areas

// global.asax route

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "MyApplication.Controllers" } // Controller Namespace
);

//区域注册路线

context.MapRoute(
MyArea_default,
"MyArea/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new string[] { "MyApplication.Areas.MyArea.Controllers" }
);

当我去http://mydomain.com/controler_in_area时仍然有效。 如何禁用http://mydomain.com/controler_in_area,我只想工作http://mydomain.com/MyArea/controler_in_area

2 个答案:

答案 0 :(得分:2)

我已尝试使用您的代码为我工作。 见下面的截图。enter image description here

enter image description here

答案 1 :(得分:0)

在默认路由之前注册MyArea_default路由。路线匹配首次匹配。