我的HomeController
就像这样:
public ActionResult HowItWorks()
{
return View();
}
我可以按照您的预期转到/Home/HowItWorks
来访问此内容。
如果我转到/HowItWorks
(省略“Home”前缀),我怎样才能使它到达同一个地方?
我知道我可以在RouteConfig.cs
中更改此内容,但我想知道是否有某个属性或类似内容。
答案 0 :(得分:4)
routes.MapRoute(
name: "HowItWorks",
url: "HowItWorks",
defaults: new { controller = "Home", action = "HowItWorks", id = UrlParameter.Optional }
);
你可以像上面那样做。是的,你需要把它放在RouteConfig.cs
如果您希望所有方法都像这样工作,您可以使用以下内容:
routes.MapRoute(
name: "HomePages",
url: "{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
在这种情况下,您可以仅使用单个控制器,当且仅当您没有按如下方式定义自定义路线时:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
请注意,路线的优先顺序很重要。即:首先匹配的那个将被接受。
答案 1 :(得分:1)
我知道我可以在RouteConfig.cs中更改此内容,但我想知道是否 有一个属性或类似的东西。
看看AttributeRouting,这很酷。