我对ASP.NET,MVC中的路由有疑问。如果我使用两个或更多控制器,我如何进行路由以隐藏URL中的控制器名称?我设法隐藏了第一个控制器名称,但是当我想要隐藏第二个控制器名称时它会变得棘手。
我认为这可能是不可能的,因为网络服务器需要知道要查找的控制器,因此它们需要在URL中使用不同的路由,但API应该可以通过以下操作找到适当的控制器 - 名称数据可用吗?
RouteConfig.cs:
routes.MapRoute(
name: "proj",
url: "p/{action}",
defaults: new { controller = "Project" }
);
routes.MapRoute(
name: "Default",
url: "{action}",
defaults: new { controller = "Access", action = "login" }
);
根据我所在的控制器,网址如下所示:
http://localhost:56590/create <- AccessController
http://localhost:56590/p/overview <- ProjectController
这是我浏览网站时想要的样子:
http://localhost:56590/create <- AccessController
http://localhost:56590/overview <- ProjectController
如果可能的话,如何使用路由实现这一目标?
非常感谢任何解释:)