0

我设置了以下路线:

    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 区域、访问控制器和登录/注销或注册方法?如果我有路线图,那么它可以属于 MyAccount 区域的路线图还是需要在该区域之外?

4

1 回答 1

1

你真的应该明确你的路线。如果您想要标准路线之外的东西,请将它们添加到您的路线表中。


context.MapRoute(
        "Login",
        "/Login",
        new { controller="Access", action = "Login"}
    );

在您的默认路线之前添加它。另一种选择是使用我们的默认路由,但另外使用https://github.com/mccalltd/AttributeRouting上的 AttributeRouting 项目之类的东西, 并在每个控制器中的操作方法上指定您的附加路由。

请注意,您可以在 Login 操作方法上编写如下代码:


[GET("Login")]
public ActionResult Login()
{
}

因此将使用您的默认路线以及此扩展路线。我相信无论如何都应该工作:)

于 2012-10-06T05:23:26.980 回答