这是我的路线:
routes.MapRoute("Login", "", new { action = "Login", controller = "Authentication"})
.DataTokens = new RouteValueDictionary(new { area = "Authentication" });
routes.MapMvcAttributeRoutes();
这是带动作的控制器:
[RouteArea("Authentication", AreaPrefix = "auth")]
[Route("{action=Login}")]
public class AuthenticationController : BaseController
{
[HttpGet]
[AllowAnonymous]
public ActionResult Login()
{
...
如果我注释掉routes.MapMvcAttributeRoutes();
,那么我可以使用'/'请求登录操作。如果它离开那么这条路线不起作用,我得到404。
如何让网站的默认路由成为该区域的登录页面?
该区域的注册与属性无关。
答案 0 :(得分:0)
我删除了约定路由并将以下内容添加到web.config中的<system.web>
:
<urlMappings enabled="true">
<clear />
<add url="~/" mappedUrl="~/auth" />
</urlMappings>