ASP.NET MVC自定义路由:无需新增控制器实现URL简化
解决方案:无需新增控制器,通过路由配置实现URL修改
完全可以通过路由配置实现,不需要新增控制器,核心是在路由规则中添加一条优先级更高的专属路由,确保请求/careers时直接映射到Home控制器的Careers动作。
具体操作步骤
- 打开项目中的
App_Start/RouteConfig.cs文件 - 在默认路由规则之前,添加以下路由配置:
// 专门匹配 /careers 的路由 routes.MapRoute( name: "CareersRoute", url: "careers", defaults: new { controller = "Home", action = "Careers" } ); // 原有的默认路由(保持不变,放在新路由之后) routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
关键注意事项
- 路由匹配是按顺序执行的,新的专属路由必须放在默认路由之前,否则默认路由会优先匹配
/home/careers,导致新URL规则不生效。 - 确保
url参数直接写为"careers",不要添加多余的占位符(比如{controller}/careers),这样才能精准匹配根路径下的/careers请求。
内容的提问来源于stack exchange,提问作者Ivan
相关产品推荐
相关产品推荐

