Ich habe ein Problem mit html.actionlink. Ich habe zwei Routen definiert:asp.net mvc actionlink mit falscher Route
routes.MapRoute(
"AdminDefault",
"Admin/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Page", action = "Details", id = "0" }
);
die Action die AdminDefault verwendet, wenn ich will es die Standard-Controller verwenden. Wie kann ich die Standardroute verwenden, ohne einen Routelink zu verwenden?
Um weitere Informationen hinzuzufügen. Ich habe eine einfache Aktion (home/index), zeigt es eine Ansicht (index.cshtml), in dieser Ansicht habe ich:
@Html.ActionLink("About", "About", "Home")
, die eine URL erzeugt von "/ Admin/Home/Über" wenn ich will Es ist "/ Home/About" die Standardadminroute ist so, dass ich später Links erstellen kann, die für alle Verwaltungsseiten zu/admin/controller/action gehen, aber ich möchte, dass die standardmäßig generierten URLs nicht unter admin liegen.
verwenden Ich verwende keine Bereiche. – Solmead
Ah, ich habe es falsch verstanden. In diesem Fall müssen Sie entweder Ihre vorhandenen Regeln austauschen und dann manuell die Routen für die Admin-Seiten erstellen. Oder Sie können einen Admin-Bereich hinzufügen. –