You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC自定义URL遇阻,咨询/Login/Login格式URL是否合规

ASP.NET MVC中/Login/Login格式URL的用法解析
  • /Login/Login本身不是不良用法,这完全符合ASP.NET MVC默认路由的规则({controller}/{action}/{id}),只是看起来重复了点,但功能上没任何问题,用户能正常访问,搜索引擎也能识别,算不上错误写法。

  • 要是觉得这个URL不够简洁,不用纠结属性路由的混乱,用默认路由就能轻松优化。在RouteConfig.cs里给登录单独加一条前置路由就行:

    // 优先匹配登录路由
    routes.MapRoute(
        name: "LoginRoute",
        url: "Login",
        defaults: new { controller = "Login", action = "Login" }
    );
    
    // 保留原有的默认路由
    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
    

    这样用户访问/Login就会自动指向Login控制器的Login动作,URL简洁了,代码也没那么乱。

  • 你之前用routes.MapMvcAttributeRoutes()觉得代码乱,应该是没做统一规划。如果之后想再尝试属性路由,可以给控制器加路由前缀,比如:

    [RoutePrefix("Account")]
    public class LoginController : Controller
    {
        [Route("Login")] // 对应URL /Account/Login
        public ActionResult Login()
        {
            return View();
        }
    }
    

    把路由规则集中在控制器和动作上,分类清晰了就不会乱。

内容的提问来源于stack exchange,提问作者krautcez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 17:44:55