C# Asp.net MVC路由问题403.14

C# Asp.net MVC路由问题403.14,c#,asp.net-mvc,razor,asp.net-mvc-routing,C#,Asp.net Mvc,Razor,Asp.net Mvc Routing,我的一个控制器无法加载“索引”。例如: http://localhost:51638/Reserve/ 不起作用。但是http://localhost:51638/Reserve/Index有效。 这个问题只针对我的一个控制器,另一个是正确的。 我的路线图是: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/

我的一个控制器无法加载“索引”。例如:

 http://localhost:51638/Reserve/
不起作用。但是
http://localhost:51638/Reserve/Index
有效。 这个问题只针对我的一个控制器,另一个是正确的。 我的路线图是:

public static void RegisterRoutes(RouteCollection routes)
        {


            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            // BotDetect requests must not be routed
            routes.IgnoreRoute("{*botdetect}",
              new { botdetect = @"(.*)BotDetectCaptcha\.ashx" });
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "UserHome", action = "Index", id = UrlParameter.Optional }
            );
        }
删除控制器并再次添加控制器后,无法修复。 和遇到此错误页:

HTTP错误403.14-禁止 Web服务器配置为不列出此目录的内容

这是我的控制器代码

public class ReserveController : Controller
{
    //
    // GET: /Reserve/
    public ActionResult Index()
    {
        return View();
    }
}

您可以添加另一条路由,默认路由为“保留”


如果您有名为Reservecontroller的控制器和名为Reserve的目录,则除非您提供完整路由,否则路由将转到该目录。这就是为什么会出现403.14错误


因此,请更改控制器或目录的名称。

您的控制器名称是否为UserHomeController?应用程序根目录下是否有名为Reserve的目录?如果是这样,路由就会变得混乱。请在此处发布控制器代码,这应该会有所帮助。原因是您的Windows没有安装sp1软件包,您可以检查并尝试。如果您使用Windows 7或2008r2,下载链接如下:并根据您的系统(x86、x64、ia64)选择windows6.1-KB976932。有关详细信息,请告诉我我不希望“保留”页成为我的启动页。我只希望可用并加载“索引”。如果您有名为ReserveController的控制器和名为Reserve的目录,除非提供完整路由,否则路由将转到目录。这就是为什么会出现403.14错误。因此,更改控制器或目录的名称。我不知道为什么,但如果我更改控制器名称,则可以。但是“Reserve”是not@dbugger-我在将MVC添加到空的ASP.NET项目时遇到问题,并且有一个同名的控制器和目录。我对你的评论投了赞成票。如果您将您的建议放在答案中而不是隐藏在评论中,我们可以使用相同名称的upvote-controller/directory来解决此问题。
routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Reserve", action = "Index", id = UrlParameter.Optional }
            );