我遇到了一个我无法理解的奇怪问题。我的一个控制器已停止工作,但如果我重命名它然后它工作正常。我没有任何特殊的路由包裹在这个控制器周围,它只是使用我的默认值。
为了具体说明,我有一个名为“袋鼠”的控制器。在浏览器中,如果我转到{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
);
}
}
有没有人知道这里会发生什么?我认为它可能只是一个奇怪的视觉工作室的事情,但重新启动并没有纠正这个问题。
答案 0 :(得分:1)
弄清楚问题是什么。我的项目中有一个名为“/ Kangaroo”的文件夹。我想它就像脚本或其他内容一样对待它。由于路径存在,它试图从路径加载一些东西。