【发布时间】:2015-06-03 04:36:25
【问题描述】:
我正在使用 MVC 5 创建 CMS 的精简版本,并且我正在尝试解决路由方面的问题。
我需要处理带有诸如 /how-it-works/ 和 /about-us/ 等 URL 的页面,因此内容是在这些路径上键入的。
在我的RouteConfig 文件中,我正在使用“catch all”路线,如下所示::
routes.MapRoute("Static page", "{*path}", new { controller = "Content", action = "StaticPage" });
这成功命中了我正在寻找的控制器操作,但因此这意味着对确实存在的控制器操作的请求(例如 /navigation/main 也沿着这条路线发送)。
我知道我可以有一个匹配 /navigation/main 的路由,但是我宁愿将 MVC 配置为默认执行此操作,就像我不添加上面的规则时那样,有什么想法吗?
【问题讨论】:
-
为 {*path} 的“catch all”路线添加路线约束。在 route.config 中将“默认”MVC 路由放在底部。
-
您能进一步解释一下吗?
标签: asp.net-mvc asp.net-mvc-4 routing routes