MVC 4 fangen alle Route nie erreicht
Beim Versuch, in MVC 4 eine Catch-All-Route zu erstellen (etwas, für das ich mehrere Beispiele gefunden habe und auf dem mein Code basiert), wird ein 404-Fehler zurückgegeben. Ich führe dies auf IIS 7.5 aus. Dies scheint eine einfache Lösung zu sein. Was vermisse ich?
Ein Hinweis, wenn ich die "CatchAll" -Route über die "Default" -Route verschiebe, funktioniert es. Aber dann wird natürlich keiner der anderen Controller jemals erreicht.
Hier ist der Code:
Route.Config:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"CatchAll",
"{*dynamicRoute}",
new { controller = "CatchAll", action = "ChoosePage" }
);
Regler:
public class CatchAllController : Controller
{
public ActionResult ChoosePage(string dynamicRoute)
{
ViewBag.Path = dynamicRoute;
return View();
}
}