2016-07-01 38 views
0

我正在使用AntiXssEncoder.UrlEncode對查詢字符串參數中的值進行編碼。空格被編碼爲%20,但我想用加號代替。當使用AntiXssEncoder.UrlEncode時使用+而不是%20的最佳方式

有沒有比調用.Replace(「%20」,「+」)字符串更好的方法?

+0

爲什麼? %20是標準的url編碼...任何UrlDecode也會將它轉換回''。另外,URL的編碼爲%2B。 –

+0

@AustinFrench這是我的公司喜歡的,[如果我正確理解加號也是可接受的標準。](http://stackoverflow.com/questions/1211229/in-a-url-should-spaces-be -encoded-using-20-or/1211261#1211261) –

+0

這是查詢字符串......但並非所有的解碼器都能正確處理它。 如果它的API或依賴於互操作性%20的Web服務仍然更好。 如果所有的最佳實踐是或嚴格控制,那麼正則表達式或字符串替換將工作。因爲AntiXssEncoder似乎沒有原始模式或類似的東西。 –

回答

0

您可以通過創建您自己的HtmlHelper類輕鬆地做到這一點。

東西這麼簡單就足夠了:

public static class CustomHtmlHelpers 
{ 
    public static string UrlEncode(string url) 
    { 
     return url.Replace(" ", "+"); 
    } 
} 

,然後只用這樣的:

CustomHtmlHelpers.UrlEncode("bla bla bla"); 
相關問題