拥有默认路由的MVC 2应用程序:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
除了一个控制器外,这对我们所拥有的一切都很有用。当我们浏览到url http:// myserver / ThisOneController 时,它不会触发Index操作并给出403.14禁止错误。如果我浏览 http:// myserver / ThisOneController / Index ,它运行正常!每个其他控制器都会显示预期的行为。
有问题的控制器定义了一个Index操作方法,并且在IIS中查看该文件夹似乎显示该文件夹与其他文件夹之间没有差异。它适用于我们的生产箱,但不适用于我们的测试盒......对于我的生活,我找不到这些盒子之间的任何差异。
有什么想法吗?
答案 0 :(得分:1)
将Glimpse添加到项目中并检查正在使用的路由。然后,您可以查看问题是否在您的MVC应用程序或环境中。
答案 1 :(得分:-1)
这是预期的行为。
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
上面的路由意味着,你期望一个控制器/动作/ id,默认(当没有提供任何东西时)是root / Home / Index /。因此,任何其他具有root / diffController /等URL的控制器都不匹配,因为您提供的是控制器,但没有操作。