说我有这个网页:
http://ww.xyz.com/Product.aspx?CategoryId=1如何在创建友好的网址时删除无效的字符(即如何创建一个slu))?
如果类别ID的名称= 1是“狗”,我想的URL转换为这样的事情:
http://ww.xyz.com/Products/Dogs
的问题是,如果类别名称包含外部(或对url无效)字符。如果CategoryId = 2的名称是“Göraäldre”,那么新的url应该是什么?
按道理它应该是:
http://ww.xyz.com/Products/Göraäldre
但它不会工作。首先是因为空间(我可以很容易地用短划线代替),但外来字符呢?在Asp.net我可以使用URLEncode的功能,这将使这样的事情:
http://ww.xyz.com/Products/G%c3%b6ra+%c3%a4ldre
,但我真的不能说,它比原来更好的URL(http://ww.xyz.com/Product.aspx?CategoryId=2)
理想情况下,我想这产生一个但我怎么能可以自动设置(即外国字符转换为“安全”的网址字符):
http://ww.xyz.com/Products/Gora-aldre
我写了一个很大的方法,充满了使用char类的if语句,直到我找到它。好东西。 – 2012-09-28 03:46:40
我认为ISAPI的确如此,但我想要更多地控制我的网址。这是一个很好的解决方案。 – 2013-03-15 07:49:21
感谢您的功能。我不得不在最后添加一个连字符以用一个连字符替换两个或更多连字符。 str = System.Text.RegularExpressions.Regex.Replace(str,@“\ - +”,“ - ”); //将多个连字符转换为一个连字符 – 2014-07-09 15:50:23