我在不同的子文件夹中有两个同名的控制器我的控制器看起来像
- 控制器
- api
- 用户控制器
- 帮助
- 用户控制器
- api
我想在用户请求时访问我的第一个控制器http://mysite/api/User/Index
并在用户请求时访问我的第二个控制器http://mysite/help/User/Index
如何在 Global.asax 中配置路由以及视图文件夹的外观?
它会是什么样子?
- 意见
- 用户
- api
- 指数
- 帮助
- 指数
- api
- 用户
谢谢并恭祝安康。
我在不同的子文件夹中有两个同名的控制器我的控制器看起来像
我想在用户请求时访问我的第一个控制器http://mysite/api/User/Index
并在用户请求时访问我的第二个控制器http://mysite/help/User/Index
如何在 Global.asax 中配置路由以及视图文件夹的外观?
它会是什么样子?
谢谢并恭祝安康。
您可以使用命名空间约束:
routes.MapRoute(
"help",
"help/{controller}/{action}",
new { controller = "User", action = "Index" },
new[] { "MvcApplication1.Controllers.help" }
);
routes.MapRoute(
"api",
"api/{controller}/{action}",
new { controller = "User", action = "Index" },
new[] { "MvcApplication1.Controllers.api" }
);
就视图的子文件夹而言,不支持开箱即用。您必须编写一个自定义视图引擎才能使其工作。
顺便说一句,您是否考虑过使用Areas?它们似乎更适合您的场景。因此,您将定义 2 个区域:help
并且api
在两个区域中都定义了 UserController。