Маршрутизация атрибута не работает в областях

Сценарий. У меня есть область форм на моем сайте ASP.NET MVC 5.

Я пытаюсь перенаправить на подробное действие, в котором используется пользовательский маршрут, определенный с помощью новой функции маршрутизации атрибутов.

RedirectToAction:

return RedirectToAction("Details", new { slug });

Действие, на которое я перенаправляю:

[HttpGet]
[Route("forms/{slug}")]
public ActionResult Details(string slug)
{
    var form = FormRepository.Get(slug);

    ...

    return View(model);
}

Я ожидал бы перенаправление наhttp://localhost/forms/my-slug но вместо этого приложение перенаправляет меня наhttp://localhost/Forms/Details?slug=my-slug.

Это означает, что атрибут маршрутизации не работает.

Как это можно решить?

Я добавил маршруты. MapMvcAttributeRoutes (); линия к моему RouteConfig:

public class RouteConfig
{
    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 }
        );
    }
}

И вот мой Application_Start ():

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

Ответы на вопрос(2)

Ваш ответ на вопрос