2009-10-30 79 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。