MVC-Routenkarte mit Ausnahme für Html.RenderAction: Keine Route in der Routentabelle stimmt mit den angegebenen Werten überein
Ich verwende ASP.NET MVC 5 und dies ist meine Routenkarte für alle Aktionen außerHome/index
:
routes.MapRoute(
name: "randomNumber",
url: "{controller}/{randomNumber}/{action}",
defaults: new { },
constraints: new { randomNumber = @"\d+" }
);
Und für die erste Seite:Home/Index
Ich möchte nicht verwenden{randomNumber}
Die erste Lösung, die ich denke, ist:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
Diese Routenkarte hat mein Problem gelöst, aber ein anderes Problem verursacht: Clients können auf andere Aktionen zugreifen, ohne{randomNumber}
, aber ich will nur dieIndex
Wirkung vonHome
Controller ohne Zufallszahl zugegriffen.
Die andere Lösung ist:
routes.MapRoute(
name: "Default",
url: "Home/Index",
defaults: new { controller = "Home", action = "Index" }
);
Aber mit dieser Karte kann ich nicht zugreifenHome/index
mit root url muss ich zugreifenHome/index
mit root url wie folgt:www.mydomainaddress.com
Endlich habe ich folgendes gefunden:
routes.MapRoute(
name: "Default",
url: "",
defaults: new { controller = "Home", action = "Index" }
);
Aber ich habe die Ausnahme bekommen:No route in the route table matches the supplied values.
aufindex.cshtml
Datei in dieser Zeile:@{Html.RenderAction("ArchiveList", "Home");}
Ich kenne die Zusammenstellung der von mir hinzugefügten Streckenkarte und nichtRenderAction
Helfer?
Wenn ich jedoch die beiden folgenden Routenkarten hinzufüge, ist alles in Ordnung:
routes.MapRoute(
name: "Default",
url: "",
defaults: new { controller = "Home", action = "Index" }
);
routes.MapRoute(
name: "HomeActions",
url: "Home/{action}",
defaults: new { controller = "Home" }
);
Wie Sie wissen, kann ich die zweite Kartenroute nicht hinzufügen. (Ich benötige alle Aktionen, auf die mit einer Zufallszahl zugegriffen werden kann.)
Ich kann nicht verstehen, was passiert ist, als ich das hinzufügeDefault
Karte, und was im Zusammenhang mitRenderAction
Helfer?
Hat jemand eine Ahnung davon? irgendein Vorschlag?