Asp.net MVC - 区域属性路由不起作用

Asp.net MVC - Area Attribute Routing is not working

我有如下代码

[RouteArea("Client")] 
public Class LoginController : Controller {
    [Route("register")]
    public ActionResult SignUp() {
        return View();
    }
}

不幸的是,属性路由在以下区域不起作用:/,如果我删除 "register" 注册路由,它将仅适用于 client/signup,但路由 "register"它不工作。

我已经添加了 [RouteArea()],尝试使用 [RoutePrefix] 但没有任何东西正常工作 "Route Area" 只是启用它与视图一起使用(在此之前 Razor 找不到视图)。

我做错了什么?

好的,我找到了解决方案。

1 从您的区域

中删除区域注册 class

2 使用此约定:

[RouteArea("Client")]
[RoutePrefix("login")]
[Route("{action}")]
public class LoginController : Controller
{

    [Route("")]
    // GET: Client/Login
    public ActionResult Index()
    {
        return View();
    }

    [Route("register")]
    // GET: client/login/register
    public ActionResult SignUp()
    {
        return View();
    }
}

现在您可以使用任何您想要的路由,带有任何前缀:)