asp.net-mvc - 如何在 asp.net mvc 中的 url 中添加页面标题? (网址生成)

标签 asp.net-mvc url routing seo

如何动态创建网址/链接,例如: www.restaurant.com/restaurant/restaurant-name-without-some-characters-like-space-coma-etc/132

我可以使用哪些关键字来搜索有关此主题的一些文章? (如何在 asp.net mvc 中生成和处理这种 url)

有几个问题: 如何生成链接? (将 slug 存储在数据库中?) 如果 slug 不规范,是否重定向?

编辑:显然它们被称为鼻涕虫

最佳答案

你必须使用如下的东西。

Routes.MapRoute(
    "Post",
    "posts/{id}/{*title}",
    new { controller = "Posts", action = "view" }
);

还有一个简单的扩展方法:

public static class UrlExtensions
{

    public static string ResolveSubjectForUrl(this HtmlHelper source, string subject)
    {
        return Regex.Replace(Regex.Replace(subject, "[^\\w]", "-"), "[-]{2,}", "-");
    }

}

关于asp.net-mvc - 如何在 asp.net mvc 中的 url 中添加页面标题? (网址生成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2174820/

相关文章:

c# - 从 ASP.NET MVC Lambda 表达式中获取值

c# - 下载 HTML 文件并将其转换为 TXT

http - 如果 http ://is missing,使用 url.ResolveReference() 解析错误的 URL

regex - 如何使用 PostgreSQL 从任何 URL 中提取顶级域

asp.net - 如果将应用程序分组到区域中,是否需要在actionlink上具有 "area"routevalue?

routing - Angular JS : 2 applications on the same page, 只有 1 会影响浏览器的位置

ruby-on-rails - 如何在 Rails 4 中为 AngularJS 更正设置根路由?

javascript - jQuery - 更改和表单提交后下拉列表变为空

asp.net - OutputCache.VaryByHeader 未在响应中生成 Vary header

jquery - 如何在 mvc 验证消息中使用 Bootstrap 弹出窗口