MVC3 - 无法找到资源

时间:2012-01-24 22:54:10

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我遇到了一个我无法理解的奇怪问题。我的一个控制器已停止工作,但如果我重命名它然后它工作正常。我没有任何特殊的路由包裹在这个控制器周围,它只是使用我的默认值。

为了具体说明,我有一个名为“袋鼠”的控制器。在浏览器中,如果我转到{server} / Kangaroo,那么我会收到“无法找到资源”消息。但是,如果我转到{server} / Kangaroo / Index,那么我的页面会正常加载。我的任何其他控制器都没有这个问题,只有这个。如果我将控制器(和我的视图文件夹)重命名为“Kangaroo2”,那么它的工作原理非常好。

这是我的路线:

public class RouteDefinitions {
    public static void AddRoutes(RouteCollection routes) {
        routes.Ignore("{resource}.axd/{*pathInfo}");
        routes.MapRoute("Resources", 
                        "cache/{action}/{key}/{version}/{type}", 
                        new { controller = "Cache", 
                              action = "CacheContent", 
                              key = "", 
                              version = "", 
                              type = "" });
        routes.MapRoute("Default", // Route name
                        "{controller}/{action}/{id}", // URL with parameters
                        new {
                              controller = "Home",
                              action = "Index",
                              id = ""
                             } // Parameter defaults
                       );
    }
}

有没有人知道这里会发生什么?我认为它可能只是一个奇怪的视觉工作室的事情,但重新启动并没有纠正这个问题。

1 个答案:

答案 0 :(得分:1)

弄清楚问题是什么。我的项目中有一个名为“/ Kangaroo”的文件夹。我想它就像脚本或其他内容一样对待它。由于路径存在,它试图从路径加载一些东西。