我设置了以下路线:
context.MapRoute(
"MyAccount_default",
"MyAccount/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
以及以下链接:
/MyAccount/Access/Login
/MyAccount/Access/Logout
/MyAccount/Access/Register
我是否可以通过某种方式创建路线图,以便输入:
/Login
/Logout
/Register
会将请求定向到MyAccount区域,Access控制器和Login / Logout或Register方法吗?如果我有 路由映射然后它可以属于MyAccount区域的路由映射,还是需要在那之外呢?
答案 0 :(得分:1)
你真的应该具体说明你的路线了。如果您想要标准路线之外的东西,请将它们添加到路线表中。
context.MapRoute(
"Login",
"/Login",
new { controller="Access", action = "Login"}
);
在默认路线之前添加。 另一个选择是使用我们的默认路由,但另外使用https://github.com/mccalltd/AttributeRouting上的AttributeRouting项目 并在每个控制器中指定您的操作方法的附加路径。
请注意,您可以在Login操作方法上进行编码,例如:
[GET("Login")]
public ActionResult Login()
{
}
因此将使用您的默认路由以及此扩展路由。我相信无论如何都应该有效:)