2014-04-04 43 views
1

我有航線MVC 4正常區域的路由管理區自動

routes.MapRoute(
      "Default", 
      "{controller}/{action}/{id}", 
      new {area="", controller = "Home", action = "Index", id = UrlParameter.Optional }, 
      new[] { "WebControllers.Controllers" }); 

    routes.MapRoute(
      "Admin_default", 
      "Admin/{controller}/{action}/{id}", 
      new {Area="Admin", Controller = "Home", action = "Index", id = UrlParameter.Optional }, 
      new[] { "WebControllers.Areas.Admin.Controllers" }); 

我對管理區的用戶控制器。當我試圖達到/管理員/用戶沒關係。 但即使我沒有用戶控制器正常區域(「」),/用戶路由到/管理員/用戶控制器,但它無法找到視圖,並給出錯誤。

如何防止/ users路徑路由到/ admin/users?

回答

0

林不知道我完全理解這個問題,但我相信解決方案將是改變您的MapRoute調用的順序。你應該按照他們的具體程度來添加路線。

舉例來說,如果你在這個順序

{controller}/{action}/{id} 
Admin/{controller}/{action}/{id} 

任何URL匹配控制器/操作/ ID將被匹配和路由添加路由。第二條路線永遠不會使用。

但是,如果您交換訂單,則mvc將首先與Admin/controller/action/id匹配。本質上,路由將在第一個工作後停止檢查匹配。