我有两个控制器:RequestsController
和ServicesController
。两者都包含Index
个动作。
当我浏览到/Requests
时,它会自动运行Index
操作,但对于/Services
或/Services/
,它会在不运行{{1}的情况下提供HTTP 404行动。
路线配置是库存。该项目还包含名为 Services 的顶级目录下的各种类:
问题似乎与Index
和顶级ServicesController
文件夹之间的某种命名冲突有关。
Services
。/Services/Index
方法正在为Index
而非Requests
运行。答案 0 :(得分:1)
我明白了。当您的控制器与根目录中的文件夹同名时,这是一个常见问题。假设Services
文件夹中的所有文件都没有被StaticFilesHandler
映射,我认为你可以简单地通过设置{告诉路由系统将所有“服务”路由映射到ServicesController
。 {1}}到RouteExistingFiles
...
true
我完全忽略了routes.RouteExistingFiles = true;
文件夹。您需要阻止对“Content”文件夹(或包含静态文件的任何其他文件夹,如Scripts文件夹)的请求通过路由管道,方法是在路由映射逻辑之前明确指定它...
Content