asp.net mvc url routing - 子文件夹名称

1 asp.net-mvc url-routing

我想创建一个网址,如下所示:

公告,健康,政策是控制者

所以我创建了一个像这样的新url路由映射:

routes.MapRoute(
 "News",
 "news/{controller}/{action}/{id}",
 new { controller = "Announcement", action = "Index", id = "" }
);
Run Code Online (Sandbox Code Playgroud)

它工作正常但是,以下两个网址显示相同的页面:

我想阻止第二个网址.

我该怎么办?

谢谢Kwon

tva*_*son 10

如果您仍然设置了默认路由,则需要将其删除或添加路由约束,以使其与您的新闻路径不匹配.

删除这个:

routes.MapRoute( "Default",
                 "{controller}/{action}/{id}",
                 new { controller = "Home", action = "Index", id = "" } );
Run Code Online (Sandbox Code Playgroud)

或添加约束:

routes.MapRoute( "Default",
                 "{controller}/{action}/{id}",
                 new { controller = "Home", action = "Index", id = "" },
                 new { controller = "(Home|Other)" } );
Run Code Online (Sandbox Code Playgroud)

约束将允许默认路由仅匹配控制器Home和Other,但不匹配Announcment,Health或Policy(或其他任何内容).