首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在asp.net mvc的url中添加页面标题?(url生成)

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

Stack Overflow用户
提问于 2010-02-01 13:26:52
回答 2查看 5.2K关注 0票数 16

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

我可以用什么关键词来搜索一些关于这个主题的文章?(如何在asp.net mvc中生成和处理这种urls )

这里有一些问题:如何生成链接?(在db中存储slugs?)如果slug不规范,重定向或不重定向?

编辑:显然,它们被称为slugs

EN

回答 2

Stack Overflow用户

发布于 2010-02-01 13:53:55

您必须使用下面的内容。

代码语言:javascript
复制
Routes.MapRoute(
    "Post",
    "posts/{id}/{*title}",
    new { controller = "Posts", action = "view" }
);

和一个简单的扩展方法:

代码语言:javascript
复制
public static class UrlExtensions
{

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

}
票数 6
EN

Stack Overflow用户

发布于 2010-02-01 13:58:49

我今天刚问了一个relevant question,关于生成slug,又名/ slugify标题。

在使用slug获取URL时,您可以创建一个同时接受ID (和其他必需参数)和slug的操作,并简单地忽略该slug。

代码语言:javascript
复制
public ActionResult Foobar(int id, string slug)
{
    //-- Do Something
}

或者更优雅的做法是,使用map route忽略URL后面的trialing字符串,并映射到Foobar(int id)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2174820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档