我正在嘗試使用HttpUtility.UrlEncode來編碼最終在URL中使用的字符串。MVC HttpUtility.UrlEncode
例如
/string/http://www.google.com
或
/串/我的測試字符串
其中http://www.google.com是傳遞到控制器的參數。
我曾嘗試以UrlEncode,但它似乎不工作很正確
我的路線是這樣的:
routes.MapRoute(
"mStringView",
"mString/{sText}",
new { controller = "mString", action = "Index", sText = UrlParameter.Optional }
);
的問題是編碼比特解碼似乎在路由的地方..除了「+」代替「」之類的東西沒有被解碼。
瞭解我的情況,其中UrlParameter可以是任何字符串,包括URL的..什麼是在將它們推入我的數據庫之前對它們進行編碼的最佳方式,然後處理解碼知道他們會我作爲參數傳遞給控制器?
謝謝!
編碼的URL看起來像什麼?google示例應該顯示'/ string/http%3a%2f%2fwww.google.com' – 2010-10-21 16:23:24
ok這裏是問題/ String/rich%27s + tags +控制器上的測試參數是「rich's tags test」和/ Tag /在控制器測試+另一個+標籤參數是「測試+另一個+標籤」,所以加號不會替換爲這個字符串?我不明白。 – toddm 2010-10-21 16:59:44
在使用該值之前,您可能需要在控制器代碼上執行Http.UrlDecode。 – 2010-10-21 17:41:36