【发布时间】:2012-06-10 07:59:50
【问题描述】:
我有一个 MVC 3 应用程序,其中我想要不包含控制器或键名的动态 Url。一个很好的例子是,如果我有一个博客,并且用户添加了新帖子。
假设用户创建了一个名为
的帖子我的博文
我有一个方法可以创建一个 url SLUG 并将其与条目一起存储在数据库中,所以我希望 Url 是
/my-blog-post
现在在 url 中没有控制器或键名?如何使用 MVC 路由实现这一点?目前,我正在通过将 Url 与 /my-blog-post_1234 之类的 ID 匹配并使用流利的 nhibernate 将该 ID 作为 DB 查找键来做到这一点,但是一旦我删除了ID?
因为我仍然可以获得字符串/slug,但这意味着我现在必须根据字符串“my-blog-post”进行 SQL 查找?我读过这篇文章效率不高,可能会影响速度,其中一些标题可能很长。
我听说有人谈论自定义路由表?这对我有帮助吗?我想主要是以最快最有效的方式从数据库中获取数据。
非常感谢任何帮助/指针。
【问题讨论】:
标签: sql-server asp.net-mvc asp.net-mvc-3 fluent-nhibernate asp.net-mvc-routing