Ich habe 2 Routen übereinstimmen, aber ich brauche sie beide zu entsprechen, wie sie sind. Ich kann GUID oder INT nicht verwenden, ich brauche es als Strings.MVC Route Attribut findet mehrere Controller-Typen
Diese Route sollte nur verwendet werden, wenn sie nicht mit anderen übereinstimmen.
[Route("{slug}", Order = 1)]
und dieser Weg sollte immer
[Route("eula", Order = 0)]
Jede Idee genommen werden ist, wie dies zu erreichen? Ich dachte Bestellung könnte funktionieren anscheinend ist es nicht
Zeige meine genaue Ausgabe: Route parameters and multiple controller types
den Fehler nachzuarbeiten:
RouteConfig.cs:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Controller:
public class HomeController : Controller
{
[Route("eula")]
public ActionResult Eula()
{
ViewBag.Message = "Your application description page.";
return View();
}
}
public class SlugController : Controller
{
[Route("{slug}")]
public ActionResult SluggedUrl(string slug)
{
ViewBag.Message = "Your " + slug;
return View();
}
}