如何在MVC5中设置默认路由

时间:2016-08-30 12:11:46

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

我在理解MVC5中的默认路由设置时遇到了麻烦。我在RouteConfig.cs文件中有这段代码

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Content",
        url: "content/{action}",
        defaults: new { controller = "Content", action = "Index" }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}

当我去www.mydomain.com/content/index时它工作正常。但是,如果我去www.mydomain/content我收到错误403.14禁止。我知道这是一个新手问题,但我错过了什么?它不应该默认为索引控制器吗?

2 个答案:

答案 0 :(得分:3)

如果您使用默认的Asp.Net MVC5项目模板,那么项目中已经存在一个名为content的物理文件夹,并且扩展名为站点的根目录。

如果您尝试浏览到内容文件夹,IIS将为您提供该错误。请求不会到达路由表。

考虑重命名文件夹或控制器。根据项目的要求,每个人都会有自己的效果。

答案 1 :(得分:0)

转到项目属性,选择网络标签更改特定页面