Ich habe mehrere Routen konfiguriert, aber aus irgendeinem Grund, trotz der Regeln für verschiedene Controller und unterschiedliche Ansichten, verschiedene Links Routing auf die gleiche Ansicht.MVC 5 Routing-Problem - Mehrere Routen zielen falsch auf die gleiche Ansicht
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" }
);
}
}
}
Verbindungen
http://localhost:11508/Home/Article/2/Participate
http://localhost:11508/News/Item/2/Second-Test
so kann Wie sehen, die Links und Regeln: Bitte siehe unten, ich habe meine RouteConfig Datei und Beispiel Links unten enthalten sind sicherlich einzigartig, aber aus irgendeinem Grunde wird die Item-Regel ignoriert, es ist einfach Id 2 zu der Home/Artikel Ansicht vorbei.
Registrieren Sie Ihre Route vor der Standardroute und versuchen Sie es erneut. –
Hier ist ein Tipp: Verwenden Sie [Attribut-Routing] (http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2), es funktioniert auch für MVC. – Knelis