【发布时间】:2012-11-20 04:41:58
【问题描述】:
我有 asp.net MVC 4 网站,文章 url 是:www.site.com/article/623/friendly-url-here
如果有人在没有友好网址的情况下访问文章,我不想这样, 它将完成,无需重定向和访问数据库两次(这会使页面加载速度变慢)。
现在:
进入 www.site.com/article/623 -> 进入 www.site.com/article/623
如我所愿:
进入 www.site.com/article/623/the-article-nice-url
(注意添加的-article-nice-url)
更新:
我在 RouteConfig 中使用的路由:
// Articles
routes.MapRoute(
name: "Articles",
url: "articles/{articleId}/{friendlyUrl}",
defaults: new { controller = "PageManagement", action = "ViewArticle", articleId = UrlParameter.Optional, friendlyUrl = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我使用 DbContext 存储数据的页面元数据:
public class PageMetadata
{
[Key]
public int Id { get; set; }
public string RepresentationString { get; set; }
public DateTime CreationDate { get; set; }
public DateTime LastUpdateDate { get; set; }
public bool IsVisible { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public string Link { get; set; }
}
【问题讨论】:
-
您的路由是如何设置的?
-
更新了路由设置
标签: c# asp.net-mvc friendly-url