2013-11-02 5 views
0

У меня есть контроллер с именем PartialController и метод действий с именем AboutMe. Я могу получить доступ к моему методу действия из localhost/Partial/AboutMe. Но я хочу получить к нему доступ из localhost/About. Так что я изменил мой маршрут, как это:Asp.net Mvc Проблема маршрутизации

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

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

     routes.MapRoute(
     name: "About", 
     url: "About", 
     defaults: new 
      { 
       controller = "Partial", 
       action = "AboutMe", 
       id = UrlParameter.Optional 
      } 
     ); 

Но я получил 404 исключение при попытке доступа AboutMe действие с локального хоста/О. Нужен совет.

ответ

1

Определите свой About Route в первую очередь. Вопросы порядка, когда дело доходит до маршрутизации, применяются в том порядке, в котором они определены.

routes.MapRoute(
     name: "About", 
     url: "About", 
     defaults: new 
      { 
       controller = "Partial", 
       action = "AboutMe", 
       id = UrlParameter.Optional 
      } 
     ); 

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

Спасибо, что это работает. – fuat

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