159

C# を使用してエンコードされた URL パラメーターをデコードするにはどうすればよいですか?

たとえば、次の URL を使用します。

my.aspx?val=%2Fxyz2F
4

5 に答える 5

323
string decodedUrl = Uri.UnescapeDataString(url)

また

string decodedUrl = HttpUtility.UrlDecode(url)

URL は 1 回の呼び出しで完全にデコードされません。完全にデコードするには、ループで次のメソッドのいずれかを呼び出します。

private static string DecodeUrlString(string url) {
    string newUrl;
    while ((newUrl = Uri.UnescapeDataString(url)) != url)
        url = newUrl;
    return newUrl;
}
于 2010-10-02T21:26:15.380 に答える
111
Server.UrlDecode(xxxxxxxx)
于 2009-09-10T12:41:26.877 に答える
80

または試しましたHttpServerUtility.UrlDecodeHttpUtility.UrlDecode

于 2009-09-10T12:40:52.650 に答える
30

試す:

var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);
于 2016-12-11T16:53:04.990 に答える
26

これを試して:

string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
于 2009-09-10T12:42:10.963 に答える