MVC控制器路由,改变url中控制器的名称

本文关键字:控制器 改变 路由 MVC url | 更新日期: 2023-09-27 18:05:12

我有一个名为IHateYou的控制器,里面有很多视图,我可以通过输入...'IHateYou'User1来访问。我需要将url中的控制器名称更改为Users,但其余部分保持不变,因此用户仍然可以通过...'Users'User1输入。我已经尝试添加路由,但我仍然可以通过之前的方式访问它。

MVC控制器路由,改变url中控制器的名称

我认为你应该给你的默认路由添加一个约束

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "IHateYou", action = "Index", id =UrlParameter.Optional },
constraints: new{ controller= "[^IHateYou]" });

默认路由总是匹配controller/action/id