Câu trả lời:
Server.UrlDecode(xxxxxxxx)
System.Web.HttpServerUtilityBase
, nhưng điều đó đã được nhập vào ASP.NET MVC.
string decodedUrl = Uri.UnescapeDataString(url)
hoặc là
string decodedUrl = HttpUtility.UrlDecode(url)
Url không được giải mã hoàn toàn với một cuộc gọi. Để giải mã đầy đủ, bạn có thể gọi một trong các phương thức này trong một vòng lặp:
private static string DecodeUrlString(string url) {
string newUrl;
while ((newUrl = Uri.UnescapeDataString(url)) != url)
url = newUrl;
return newUrl;
}
Uri.UnescapeDataString
hai lần và có được những gì tôi muốn !! : D
Bạn đã thử HttpServerUtility.UrlDecode
hay HttpUtility.UrlDecode
chưa?
HttpServerUtility.UrlDecode
phương thức cá thể, người ta nên sử dụng HttpContext.Current.Server.UrlDecode
.
Thử:
var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);