Asp.net mvc MVC控制器给我一个403禁止错误,默认路由为';它被称为文档控制器

Asp.net mvc MVC控制器给我一个403禁止错误,默认路由为';它被称为文档控制器,asp.net-mvc,Asp.net Mvc,DocumentationController是否保留供系统使用 我创建了一个空白的MVC应用程序,创建了一个具有相应视图的DocumentationController。如果我去www.mysite.com/Documentation/Index,它会起作用,但是如果我去www.mysite.com/Documentation/,我会得到403 将DocumentationController重命名为Documentation2Controller和相关视图,它(默认路由等)工作正常 它是一个

DocumentationController
是否保留供系统使用

我创建了一个空白的MVC应用程序,创建了一个具有相应视图的DocumentationController。如果我去
www.mysite.com/Documentation/Index
,它会起作用,但是如果我去
www.mysite.com/Documentation/
,我会得到403

DocumentationController
重命名为
Documentation2Controller
和相关视图,它(默认路由等)工作正常


它是一个保留关键字,还是它没有选择默认路由的另一个原因?

确保没有名为
Documentation
的实际虚拟/物理目录

您还可以通过将
RouteExistingFiles
标志设置为true(在您的路由配置中),指示MVC“接管”请求,即使它与目录匹配:


使用此词作为控制器名称没有问题。(至少在ASP.NET MVC3中)

唯一保留的词语是:

你确定没有实际的名为“Documentation”的虚拟/物理目录吗?天哪。你完全解决了。金星。你能把这个作为答案吗?解决方案中有一个名为Documentation的文件夹,重命名后,它将其修复。我不明白为什么这会影响它,因为它应该在视图>MyControllerName>索引中查看,但它确实这样做了。可能有更好的方法来处理这个问题。请出示您的
routeConfig
。建议。RouteConfig只是默认的,我没有更改它。我只是没有意识到它会与与控制器同名的文件夹冲突。非常感谢。这个答案的第一句话帮助了我确保您没有名为…“”的实际目录。在Visual Studio中,我单击图标“显示所有文件”,发现有一个同名文件夹。(在运行时创建,因为我在为它定义正确的目录时犯了一个错误)单击“显示所有文件”,显示它。我删除了它,一切恢复正常..哇,我的RouteConfig.cs中缺少RouteExistingFiles=true。现在它开始工作了!
public static void RegisterRoutes(RouteCollection routes)
{
    routes.RouteExistingFiles = true;

    //...
}