2017-10-11 98 views
0

我不理解這個概念,所以在做了一本手冊並閱讀了幾篇文章之後,我決定要求大家。在MVC中路由沒有找到新的url

我想改變,只是爲了測試,從:

本地主機/首頁/目錄

要:

本地主機/客戶/列表

所以我的:

RouteConfig.cs

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 

    routes.MapRoute("Custom", "Custom/List/", 
     new 
     { 
      Controller = "Home", 
      Action = "List" 
     }); 

} 

但就是不工作。第一個網址仍在工作,但第二個網址沒有找到任何東西。

感謝

+1

這是您的RouteConfig.cs文件中唯一的路徑定義嗎? –

+0

@StephenMuecke。在Global.asax –

+0

我修改RouteConfig.cs和我編輯我的問題。謝謝 –

回答

3

路線是爲了匹配和你Default航線有0-3個段之間,所以../Custom/List調用的CustomControllerList()方法的任何URL匹配。

您需要更改路線的順序,以便Custom位於DefaultRoute之前。 ../Custom/List然後將首先匹配該路線,然後轉到List()方法HomeController

+0

感謝您的幫助。我現在瞭解機制。 –