我使用HttpUtility.UrlEncode对在路由中使用的任何值进行编码。
我已经解决了编码正斜杠的问题。现在我遇到的新问题是空格。空格被编码为+。
这在VS集成的Web服务器上可以工作,但我在Windows Server 2008上的IIS7上有问题。
如果我的URL是http://localhost/Home/About/asdas+sdasd
我会收到错误404.11-请求包含双重转义序列。
我知道我可以将空格替换为“%20”,但我不想自己处理正确的编码。是否有现成的用于MVC的UrlEncoder可供使用?
不要使用;仅用于浏览器兼容性。请使用System.Web.HttpUtility.UrlEncode(System.String)
。 - AaronHolland