Атрибут маршрута не работает
Попытка использовать атрибут [Маршрут] в моем приложении MVC, согласно этой статье: https://blogs.msdn.microsoft.com/webdev/2013/10/17/attribute-routing-in-asp-net-mvc-5/
[Route("Error/{type?}")]
public ActionResult Error(string type)
{
if (type == "Duplicate")
{
ViewBag.ErrorDetails = "There is already a redirect using that Vanity URL and Domain.";
}
if (type == "Unknown")
{
ViewBag.ErrorDetails = "An unknown error has occured. Probably your fault too.";
}
return View();
}
У меня есть MapMvcAttributeRoutes в RouteConfig.cs
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 = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapMvcAttributeRoutes();
}
}
Я получаю 404 при просмотре /Admin/Error/Duplicate, но /Admin/Error? Type=Duplicate работает нормально.
В дополнение к [Route("Error/{type}")]
я пытался [Route("Admin/Error/{type})]
а также [Route("{type})]
но не повезло. Я не могу понять, где я иду не так.