【发布时间】:2011-12-31 17:44:10
【问题描述】:
我有一个 CMS,它在数据库中存储“页面”的 URL。该页面引用了一个模板,该模板只是一个常规的 aspx 文件。使用 URL 重写将请求发送到正确的 aspx 文件。
我们几乎完成了 MVC 支持,但是有一个问题。 mvc 中的所有内容都基于路由,它需要在 url 中有一个控制器名称(是的,我知道你可以为没有控制器名称的 url 设置一个默认控制器,但是所有页面都可以有不同的控制器),这使得它很难支持网址格式如下:
www.domain.com/pagename
例如:
www.cnn.com/about-this-site
www.cnn.com/press-release-new-ceo-announced
页面名称与控制器或视图/操作无关,它只是页面名称的 url 友好版本。
所以基本上我们想要做的是获取页面名称,找到我们系统的正确页面,找到引用的模板(mvc 中的控制器)并为该控制器和操作设置手动路由。关于如何做到这一点的任何想法?或者应该只是接受 mvc 中的 URL 在大多数情况下需要控制器名称?
【问题讨论】:
标签: asp.net-mvc