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 }
);