【发布时间】:2011-04-14 11:10:58
【问题描述】:
Response.Redirect("./blah.aspx?key=my value with spaces");
它将浏览器发送到:
mysite/blah.aspx?key=my%20value%20with%20spaces
现在我明白它为什么这样做了 - 为了古老的浏览器会窒息空间。但实际上,我想要的是一个漂亮的 url,带有空格而不是 %,因为它的工作原理是一样的。
有什么方法可以停止 response.redirect 对我的空间进行 urlencoding?
非常感谢
【问题讨论】:
-
所以您认为带有空格的 URL “好看”?我建议你看看这个 SO 问题:stackoverflow.com/questions/497908/…
-
看了一下,它说“空格字符是不安全的,因为当 URL 被转录或排版或接受文字处理程序的处理时,重要的空格可能会消失,并且可能会引入不重要的空格。” - 我真的不打算将我的 URLS 通过文字处理器,我认为它会好的。
-
您打算如何处理 URI 并不重要。 URI 是根据国际标准定义的,该标准必须预期它将用于各种用例(与在某些情况下常用的空格分隔列表相比,字处理器在这里几乎不是最难的情况)。因为在很多情况下空格根本不起作用,所以空格是不允许的。
-
好的,别担心。我已经使用了空格替换破折号选项。