仅使用控制器名称作为路由

时间:2015-05-07 16:52:58

标签: asp.net asp.net-mvc asp.net-mvc-routing

我想通过该网址访问NewsList路由:http://domain.com/news

我有三条路线,如:

routes.MapRoute(
    name: "NewsList",
    url: "News",
    defaults: new { controller = "News", action = "List" }
);

routes.MapRoute(
    name: "NewsDetail",
    url: "{controller}/{action}/{title}/{id}",
    defaults: new { controller = "News", action = "Details", title = "", id = 0 }
);

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

我可以毫无问题地使用DefaultNewsDetail路由,但无法使用我在下面提供的当前配置访问NewsList路由。当我尝试访问NewsList路由时,我需要使用以下网址:http://domain.com/news/list

编辑:如果我使用http://domain.com/news,屏幕上会出现HTTP Error 403.14 - Forbidden错误。

在这种情况下是否可以忽略此操作?

1 个答案:

答案 0 :(得分:1)

确保项目中没有“新闻”目录。如果有,那将优先,你将获得403尝试目录列表。