Wie kann ich einen codierten URL-Parameter mit C# dekodieren?Wie dekodiere ich einen URL-Parameter mit C#?
Zum Beispiel, nehmen Sie diese URL:
my.aspx?val=%2Fxyz2F
Wie kann ich einen codierten URL-Parameter mit C# dekodieren?Wie dekodiere ich einen URL-Parameter mit C#?
Zum Beispiel, nehmen Sie diese URL:
my.aspx?val=%2Fxyz2F
Server.UrlDecode(xxxxxxxx)
Haben Sie versucht, HttpServerUtility.UrlDecode
oder HttpUtility.UrlDecode
?
Um auf die 'HttpServerUtility.UrlDecode' zuzugreifen, die eine Instanzmethode ist, sollte' HttpContext.Current.Server.UrlDecode' verwendet werden. – BornToCode
Versuchen Sie folgendes:
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
string decodedUrl = Uri.UnescapeDataString(url)
oder
string decodedUrl = HttpUtility.UrlDecode(url)
URL ist nicht vollständig mit einem Anruf decodiert. Um vollständig entschlüsseln Sie eine dieser Methoden in einer Schleife aufrufen können:
private static string DecodeUrlString(string url) {
string newUrl;
while ((newUrl = Uri.UnescapeDataString(url)) != url)
url = newUrl;
return newUrl;
}
Versuchen string s = System.Uri.UnescapeDataString(here);
Als Arbeit um Lösung kann ich vorschlagen, eine Erweiterungsmethode zu erstellen, die Ihre URL in irgendwie wie diese entschlüsseln kann:
public static class DecodeString
{
public static string ToDecodeString(this string x)
{
if (x.Contains("%2B"))
{
x = x.Replace("%2B", "+");
}
if (x.Contains("%2F"))
{
x = x.Replace("%2F", "/");
}
if (x.Contains("%3D"))
{
x = x.Replace("%3D", "=");
}
return x;
}
}
Ich hoffe, es kann helfen!
Welcher Namensraum? – PolinaC