我在不同的子文件夹中有两个同名的控制器 我的控制器看起来像
我想在用户请求http://mysite/api/User/Index
并在用户请求http://mysite/help/User/Index
如何在Global.asax中配置路由以及视图文件夹的外观如何?
它会是什么样子?谢谢和问候。
答案 0 :(得分:1)
您可以使用命名空间约束:
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" }
);
就视图的子文件夹而言,开箱即用不支持此功能。你必须写一个custom view engine来实现这个目的。
顺便问一下,你考虑过使用Areas吗?它们似乎更适合您的场景。因此,您将定义两个区域:help
和api
,并在两者中定义UserController。