2017-06-22 91 views
0

工作后我在RouteConfig下面的代码:正常路线停止添加MapMvcAttributeRoutes

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.MapMvcAttributeRoutes();线,只有属性路线的作品,其他的不能。这里是我的控制器:

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(); 
    } 

} 

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

+0

看来,即使我不能重现描述的行为......试着用菲尔的[RouteDebugger(HTTP找出:// haacked.com/archive/2008/03/13/url-routing-debugger.aspx/),并编辑你的问题与基于约定的路线的结果。 –

回答

0

你做错了什么:

试试这个方法:

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