Search code examples
c#asp.neturlurldecode

How do I decode a URL parameter using C#?


How can I decode an encoded URL parameter using C#?

For example, take this URL:

my.aspx?val=%2Fxyz2F

Solution

  • string decodedUrl = Uri.UnescapeDataString(url)
    

    or

    string decodedUrl = HttpUtility.UrlDecode(url)
    

    Url is not fully decoded with one call. To fully decode you can call one of this methods in a loop:

    private static string DecodeUrlString(string url) {
        string newUrl;
        while ((newUrl = Uri.UnescapeDataString(url)) != url)
            url = newUrl;
        return newUrl;
    }