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();
}
}
现在您可以使用任何您想要的路由,带有任何前缀:)
我有如下代码
[RouteArea("Client")]
public Class LoginController : Controller {
[Route("register")]
public ActionResult SignUp() {
return View();
}
}
不幸的是,属性路由在以下区域不起作用:/,如果我删除 "register" 注册路由,它将仅适用于 client/signup,但路由 "register"它不工作。
我已经添加了 [RouteArea()]
,尝试使用 [RoutePrefix]
但没有任何东西正常工作 "Route Area" 只是启用它与视图一起使用(在此之前 Razor 找不到视图)。
我做错了什么?
好的,我找到了解决方案。
1 从您的区域
中删除区域注册 class2 使用此约定:
[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();
}
}
现在您可以使用任何您想要的路由,带有任何前缀:)