Ich arbeite an einem C# ASP.NET MVC-Projekt mit Entity Framework.Nach dem Ändern des Pfades mit RouteConfig funktioniert der alte Pfad nicht
Ich versuche, den URL-Pfad RouteConfig.cs
zuerst den Code wie dieses ich die URL Chenge wollte
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);
}
}
sah mit Änderungen
localhost/Customer/Index
-
localhost/Index
So habe ich diese Zeile von Code und es funktionierte
routes.MapRoute(
name: "customer",
url: "customer",
defaults: new { controller = "Customer", action = "Index"}
);
Als nächstes habe ich versucht, localhost/Customer/Details/2
zu localhost/CustomerName/2
zu ändern.
// CustomerName varies with each customer
so habe ich dieses
routes.MapRoute(
name: "customerDetail",
url: "customer/{name}/{id}",
defaults: new { controller = "Customer", action = "Details", id = UrlParameter.Optional, name = UrlParameter.Optional }
);
jetzt korrekt Kundendaten Seite geladen wird.
Das Laden der Indexseite mit diesem Pfad localhost/Customer/Index
verursacht einen Fehler, während localhost/Customer
keinen Fehler verursacht. Warum passiert das?
EDIT
Dies ist, wie meine RouteConfig
wie
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "customer",
url: "customer",
defaults: new { controller = "Customer", action = "Index"}
);
routes.MapRoute(
name: "customerDetail",
url: "customer/{name}/{id}",
defaults: new { controller = "Customer", action = "Details", id = UrlParameter.Optional, name = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);
}
}
bestellen, wie Sie hinzufügen Routen wichtig ist. Zeigen Sie die RouteConfig so an, wie sie gerade ist, nachdem Sie Ihre Änderungen vorgenommen haben. Wahrscheinlich haben Sie einen Routenkonflikt. – Nkosi
Scheint, dass dort eine falsche Routenreihenfolge in 'RouteConfig' definiert ist. Die spezifischsten Routen sollten oberhalb von breiteren/Standardrouten liegen. –
Ihre zweite Route generiert nicht 'localhost/Index' - sie generiert' localhost/customer' –