2009-10-30 66 views
10

我使用HttpUtility.UrlEncode来编码路由中使用的任何值。正确地url编码空格字符

我已经解决了编码正斜杠的问题。我现在遇到的新问题是空间问题。空格编码为+。

该工程对VS集成Web服务器,但我在IIS7有一个问题,它在Windows Server 2008上 如果我有URL http://localhost/Home/About/asdas+sdasd

我得到的错误404.11 - 请求包含双转义序列。

我知道我可以用“%20”替换空格,但我不想关心自己编码的问题。有没有准备好使用UrlEncoder for MVC?

回答

19

''编码为%20使用HttpUtility.UrlPathEncode

+3

但UrlPathEncode无法编码& – 2010-10-15 19:34:22

0

任何URL编码是最经常设计工作在url的路径部分,原因是不同的方案在安全列表中有不同的字符。寻找你的图书馆urlencoder,并使用它的URL和上面的路径部分。

0
@HttpUtility.UrlPathEncode(path) 

UrlPathEncode只是编码Url的路径,而不是编码整个Url。