MVC中的路由不起作用

问题描述:

我正在阅读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" }); 
     } 

我写默认这是错误的之后的路线,所以我不得不默认这是相当明显的前写。

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 } 
       ); 

     }