【发布时间】:2017-11-25 09:31:38
【问题描述】:
我的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.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();
}
}
这是什么原因?它似乎首先发生在我身上。我以前做过很多次,但这个问题从未发生过。
【问题讨论】:
-
似乎连我都无法重现所描述的行为...尝试使用 Phil 的 RouteDebugger 找出答案,并使用基于约定的路线的结果编辑您的问题。
标签: c# asp.net-mvc routes custom-attributes