HttpServerUtility.UrlDecode Method

Definition

Decodes a string that was encoded for HTTP transmission and then sent to the server in a URL.

To encode or decode values outside of a web application, use the WebUtility class.

Overloads

UrlDecode(String)

URL-decodes a string and returns the decoded string.

UrlDecode(String, TextWriter)

Decodes an HTML string received in a URL and sends the resulting output to a TextWriter output stream.

UrlDecode(String)

URL-decodes a string and returns the decoded string.

C#
public string UrlDecode(string s);

Parameters

s
String

The text string to decode.

Returns

The decoded text.

Examples

The following example shows how to URL-decode a value that is retrieved from the query string. The code resides in the code-behind file for a web page. ReturnPage refers to a HyperLink control.

C#
public partial class _Default : Page
{       
    protected void Page_Load(object sender, EventArgs e)
    {
        string returnUrl = Server.UrlDecode(Request.QueryString["url"]);
        ReturnPage.NavigateUrl = returnUrl;
    }
}

The next example is similar to the previous example except it shows how to URL-decode a value from within a class that is not in the code-behind file.

C#
public class SampleClass
{
    public string RetrievePassedUrl()
    {
        return HttpContext.Current.Server.UrlDecode(HttpContext.Current.Request.QueryString["url"]);
    }
}

Remarks

URL encoding ensures that all browsers will correctly transmit text in URL strings. Characters such as a question mark (?), ampersand (&), slash mark (/), and spaces might be truncated or corrupted by some browsers. As a result, these characters must be encoded in <a> tags or in query strings where the strings can be re-sent by a browser in a request string.

This method is a convenient way to access the HttpUtility.UrlDecode method at run time from an ASP.NET application. Internally, this method uses HttpUtility.UrlDecode to decode strings.

In the code-behind file for an ASP.NET web page, access an instance of the HttpServerUtility class through the Server property. In a class that is not in a code-behind file, use HttpContext.Current.Server to access an instance of the HttpServerUtility class.

Outside of a web application, use the WebUtility class to encode or decode values.

Applies to

.NET Framework 4.8.1 and other versions
Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

UrlDecode(String, TextWriter)

Decodes an HTML string received in a URL and sends the resulting output to a TextWriter output stream.

C#
public void UrlDecode(string s, System.IO.TextWriter output);

Parameters

s
String

The HTML string to decode.

output
TextWriter

The TextWriter output stream that contains the decoded string.

Examples

The following example decodes the string named EncodedString (received in a URL) into the string named DecodedString.

C#
StringWriter writer = new StringWriter();
Server.UrlDecode(EncodedString, writer);
String DecodedString = writer.ToString();

Remarks

URL encoding ensures that all browsers will correctly transmit text in URL strings. Characters such as a question mark (?), ampersand (&), slash mark (/), and spaces might be truncated or corrupted by some browsers. As a result, these characters must be encoded in <a> tags or in query strings where the strings can be re-sent by a browser in a request string.

UrlDecode is a convenient way to access the HttpUtility.UrlDecode method at run time from an ASP.NET application. Internally, UrlDecode uses HttpUtility.UrlDecode to decode strings.

To encode or decode values outside of a web application, use the WebUtility class.

Applies to

.NET Framework 4.8.1 and other versions
Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1