2

我想问如何在我的网址中用破折号(-)替换空格。我的详细信息操作有一个标题 url,问题是单词之间出现空格而不是破折号(-)。

例如:

我的网址:~/khoa-hoc/1/Lớp Luyện Thi

但我想要:
step1-> 1. ~/khoa-hoc/1/Lớp-Luyện-Thi step2-> 2. ~/khoa-hoc/1/lop-luyen-thi

我的路线

   my route routes.MapRoute( null,
      "khoa-hoc/{id}/{title}",
      new { controller = "Course", action = "Details", id = "", title=""},
      new { id = @"\d+" } );

我的观点:@Html.ActionLink(item.Name, "Details", new { id = item.CourseID, title=item.Title })

我已经搜索了一些关于此的主题,但直到现在我仍然没有解决这个问题,希望有人可以帮助我,提前感谢,对不起我的英语语言不完美。

4

1 回答 1

3

在 url 的路径部分中包含任意文本是您可能会遇到的问题。Scott Hanselman 详细解释了如果您尝试在following blog post. 在他的帖子末尾,这是他针对这种情况提出的建议:

在为在请求路径中获得疯狂的东西所做的所有努力之后,值得一提的是,简单地将值保留为查询字符串的一部分(还记得本文开头的 WAY 吗?)更容易、更清洁、更灵活,而且更多安全的。

话虽如此,您可能想要反对此建议,并且仍然尝试在您的 url 的路径部分中使用此类任意文本。就像 StackOverflow 在这里的问题标题一样。在构建 slug 时,您可以使用过滤功能来替换所有危险字符。他们是这样的generate those SEO friendly urls

于 2013-04-17T13:54:47.587 回答