2015-04-04 33 views
0

我正在閱讀MVC上的電子書。
它有下面的例子,但他們都沒有工作。
MVC中的路由不起作用

routes.MapRoute("", "X{controller}/{action}");

routes.MapRoute("", "Public/{controller}/{action}", 
    new { controller = "Home", action = "Index" }); 

他們都將前往首頁controller和索引action

鏈接,第一個路由:對於第二條路線http://localhost:14099/XHome/Index
鏈接:http://localhost:14099/Public/Home/Index

的輸出這兩者應該與博中的例子相同好。但是當我嘗試相同的時候,它沒有給出任何結果。即resource cannot be found.我在這裏做錯了什麼?

以下是我的代碼,我已經寫了:

public static void RegisterRoutes(RouteCollection routes) 
     { 

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

回答

0

我寫默認這是錯誤的之後的路線,所以我不得不默認這是相當明顯的前寫。

public static void RegisterRoutes(RouteCollection routes) 
      { 
    routes.MapRoute("", "X{controller}/{action}"); 
       routes.MapRoute("MyRoute", "{controller}/{action}", 
       new { controller = "Home", action = "Index" }); 
       routes.MapRoute("", "Public/{controller}/{action}", 
       new { controller = "Home", action = "Index" }); 
       routes.MapRoute(
        name: "Default", 
        url: "{controller}/{action}/{id}", 
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
       ); 

     }