I have configured several routes, but for some reason, despite the rules regarding different controllers and different views, different links are routed in the same way. See below, I have included RouteConfig in my file and link examples below:
RouteConfig.cs
using System.Web.Mvc; using System.Web.Routing; namespace WebApplication1 { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Account", url: "Account/{action}/{id}", defaults: new { controller = "Account", id = UrlParameter.Optional } ); routes.MapRoute( name: "Member", url: "Member/{action}/{id}", defaults: new { controller = "Member", id = UrlParameter.Optional } ); routes.MapRoute( name: "Root", url: "{action}/{id}", defaults: new { controller = "Home", id = UrlParameter.Optional } ); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); routes.MapRoute( name: "Details", url: "{controller}/{action}/{u}", defaults: new { controller = "Member", action = "Details", u = UrlParameter.Optional } ); routes.MapRoute( name: "Article", url: "{Home}/{Article}/{id}/{articleName}", defaults: new { controller = "Home", action = "Article" } ); routes.MapRoute( name: "Item", url: "{News}/{Item}/{id}/{itemName}", defaults: new { controller = "News", action = "Item" } ); } } }
References
http://localhost:11508/Home/Article/2/Participate http://localhost:11508/News/Item/2/Second-Test
As you can see, links and rules are certainly unique, but for some reason the Item rule is ignored, it just passes Id 2 to the Home / Article view.
source share