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.

public:
 System::String ^ UrlDecode(System::String ^ s);
public string UrlDecode (string s);
member this.UrlDecode : string -> string
Public Function UrlDecode (s As String) As String

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.

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

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Dim returnUrl = Server.UrlDecode(Request.QueryString("url"))
        ReturnPage.NavigateUrl = returnUrl
    End Sub
End Class

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.

public class SampleClass
{
    public string RetrievePassedUrl()
    {
        return HttpContext.Current.Server.UrlDecode(HttpContext.Current.Request.QueryString["url"]);
    }
}
Public Class SampleClass
    Public Function RetrievePassedUrl() As String
        Return HttpContext.Current.Server.UrlDecode(HttpContext.Current.Request.QueryString("url"))
    End Function
End Class

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

UrlDecode(String, TextWriter)

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

public:
 void UrlDecode(System::String ^ s, System::IO::TextWriter ^ output);
public void UrlDecode (string s, System.IO.TextWriter output);
member this.UrlDecode : string * System.IO.TextWriter -> unit
Public Sub UrlDecode (s As String, output As TextWriter)

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.

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

Dim writer As New StringWriter
Server.UrlDecode(EncodedString, writer)
Dim DecodedString As String = 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