ฉันจะถอดรหัสพารามิเตอร์ URL ที่เข้ารหัสโดยใช้ C # ได้อย่างไร
ตัวอย่างเช่นใช้ URL นี้:
my.aspx?val=%2Fxyz2F
ฉันจะถอดรหัสพารามิเตอร์ URL ที่เข้ารหัสโดยใช้ C # ได้อย่างไร
ตัวอย่างเช่นใช้ URL นี้:
my.aspx?val=%2Fxyz2F
คำตอบ:
Server.UrlDecode(xxxxxxxx)
System.Web.HttpServerUtilityBase
แต่ควรนำเข้ามาใน ASP.NET MVC แล้ว
string decodedUrl = Uri.UnescapeDataString(url)
หรือ
string decodedUrl = HttpUtility.UrlDecode(url)
URL ไม่ได้รับการถอดรหัสอย่างสมบูรณ์ด้วยการโทรเพียงครั้งเดียว หากต้องการถอดรหัสอย่างสมบูรณ์คุณสามารถเรียกใช้หนึ่งในวิธีนี้ในลูป:
private static string DecodeUrlString(string url) {
string newUrl;
while ((newUrl = Uri.UnescapeDataString(url)) != url)
url = newUrl;
return newUrl;
}
Uri.UnescapeDataString
สองครั้งและได้สิ่งที่ฉันต้องการ !! : D
มีคุณพยายามHttpServerUtility.UrlDecode
หรือHttpUtility.UrlDecode
?
HttpServerUtility.UrlDecode
HttpContext.Current.Server.UrlDecode
ลองสิ่งนี้:
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
ลอง:
var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);