我想问一下如何在我的网址中用短划线( - )替换空格。 我的详细信息操作有一个标题网址,问题是在单词之间出现空格而不是短划线( - )。
For Examble:
我的网址:〜/ khoa-hoc / 1 /LớpLuyệnThi
但我想要:
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})
我已经搜索了一些关于此的主题,但直到现在我仍然没有解决这个问题,希望有人可以帮助我, 提前感谢,抱歉我的英语不完美。
答案 0 :(得分:3)
在网址的路径部分中包含任意文本是您可能会遇到的问题。 Scott Hanselman详细解释了如果您尝试在following blog post
处执行此操作时可能遇到的问题。在他的帖子结束时,他建议这个场景:
在完成所有这些努力以获得请求路径中的疯狂内容之后,就是这样 值得一提的是,只需将值保留为Query的一部分 字符串(记得在这篇文章的开头回答?)更容易, 更清洁,更灵活,更安全。
现在有人说你可能会反对这个建议,仍然试图在网址的路径部分使用这些任意文本。就像StackOverflow在这里使用问题标题一样。在构造slug时,您可以使用过滤功能替换所有危险字符。这是他们generate those SEO friendly urls
的方式。