2013-07-14 4 views
1

У меня проблема с моей картой маршрута для определенного контроллера. Я искал для этого несколько других ответов, но они мне не очень помогли.ASP.NET MVC 4 Карта Маршрут к определенному контроллеру не работает

После механических карт ли я:

 routes.MapRoute(
       name: "Default", 
       url: "{culture}/{controller}/{action}/{id}", 
       defaults: new { culture = LanguageHelper.GetDefaultCultureToken(), controller = "Forum", action = "Overview", id = UrlParameter.Optional }, 
       namespaces: new string[] { "MyForum.Controllers" } 
     ); 

     routes.MapRoute(
      name: "AccRoute", 
      url: "Account/{action}/{id}", 
      defaults: new { controller = "Account", action = "Overview", id = UrlParameter.Optional }, 
      namespaces: new string[] { "MyForum.Controllers" } 
     ); 

Моей проблема в том, что вторая карте маршрута не работает. Я не могу найти маршрут по следующей ссылке: «~/account/confirm/iHUeMMOL9XA2vqqV6XGJ-w2»

С уважением!

ответ

3

Этого URL сопрягает первый маршрут, чтобы избежать этого, необходимо использовать ограничение, например:

routes.MapRoute(
    name: "Default", 
    url: "{culture}/{controller}/{action}/{id}", 
    defaults: new { culture = LanguageHelper.GetDefaultCultureToken(), controller = "Forum", action = "Overview", id = UrlParameter.Optional }, 
    constraints: new { culture = @"[a-z]{2}-[a-z]{2}" }, 
    namespaces: new string[] { "MyForum.Controllers" }); 

Не уверен, что мой Regex работает для вас, но вы получите идею. Таким образом, сегмент account не будет соответствовать.

+0

Первый маршрут карты не является моей проблемой. У меня есть ссылки, которые направляются непосредственно к контроллеру учетной записи, как и моя примерная ссылка, поэтому мне нужен второй маршрут карты. – Pastho

+0

Хорошо, спасибо вам большое! Это была моя проблема. Второй маршрут карты был скрыт первым. – Pastho

Смежные вопросы