C# 添加MAPMVCATTRIBUTERROUTES后,正常路由停止工作

C# 添加MAPMVCATTRIBUTERROUTES后,正常路由停止工作,c#,asp.net-mvc,routes,custom-attributes,C#,Asp.net Mvc,Routes,Custom Attributes,我的RouteConfig中有以下代码: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //routes.MapMvcAttributeRoutes(); routes.MapRoute( name: "Transfer",

我的
RouteConfig
中有以下代码:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        //routes.MapMvcAttributeRoutes();

        routes.MapRoute(
            name: "Transfer",
            url: "Transfer/{controller}/{action}/{id}",
            defaults: new { id = UrlParameter.Optional });

        routes.MapRoute(
            "Director",
            "{*parameters}",
            new { controller = "Home", action = "Index"}
        );
    }
一切正常,但每当我取消注释
routes.mapmvcattributterroutes()行,只有属性路由有效,其他不能。这是我的控制器:

public class HomeController : Controller
{

    [Route(""), Route("Home")]
    public ActionResult Index()
    {
        return this.View();
    }

    [Route("ContactUs")]
    public ActionResult ContactUs()
    {
        return this.View();
    }

    [Route("PrivacyPolicy")]
    public ActionResult PrivacyPolicy()
    {
        return this.View();
    }

    [Route("TermsOfUse")]
    public ActionResult TermsOfUse()
    {
        return this.View();
    }

}

这是什么原因?这似乎是第一次发生在我身上。我以前做过很多次,但这个问题从未发生过。

您在这里做错了:

试着这样做:

[Route("Home")]
public ActionResult Index()
{
    return this.View();
}

似乎连我都无法重现所描述的行为。。。尝试与Phil一起找出答案,并用基于约定的路线的结果编辑您的问题。