HttpServerUtility.UrlEncode Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Encodes a string for reliable HTTP transmission from the Web server to a client through the URL.
Overloads
UrlEncode(String) |
URL-encodes a string and returns the encoded string. |
UrlEncode(String, TextWriter) |
URL-encodes a string and sends the resulting output to a TextWriter output stream. |
Remarks
UrlEncode is a convenient way to access the HttpUtility.UrlEncode method at run time from an ASP.NET application. Internally, UrlEncode uses HttpUtility.UrlEncode to encode strings.
To encode or decode values outside of a web application, use the WebUtility class.
UrlEncode(String)
URL-encodes a string and returns the encoded string.
public:
System::String ^ UrlEncode(System::String ^ s);
public string UrlEncode (string s);
member this.UrlEncode : string -> string
Public Function UrlEncode (s As String) As String
Parameters
- s
- String
The text to URL-encode.
Returns
The URL-encoded text.
Examples
The following example shows how to URL-encode a value that is used as a query string value of a hyperlink. The code resides in the code-behind file for a web page. The value to encode is hard-coded in this example only to simplify the example and show the type of value you might URL-encode. Typically, you would URL-encode a value that you received from the user or the request. NextPage
refers to a HyperLink
control.
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
string destinationURL = "http://www.contoso.com/default.aspx?user=test";
NextPage.NavigateUrl = "~/Finish?url=" + Server.UrlEncode(destinationURL);
}
}
Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim destinationURL = "http://www.contoso.com/default.aspx?user=test"
NextPage.NavigateUrl = "~/Finish?url=" + Server.UrlEncode(destinationURL)
End Sub
End Class
The next example is similar to the previous example except it shows how to URL-encode a value from within a class that is not in the code-behind file.
public class SampleClass
{
public string GetUrl()
{
string destinationURL = "http://www.contoso.com/default.aspx?user=test";
return "~/Finish?url=" + HttpContext.Current.Server.UrlEncode(destinationURL);
}
}
Public Class SampleClass
Public Function GetUrl() As String
Dim destinationURL = "http://www.contoso.com/default.aspx?user=test"
Return "~/Finish?url=" + HttpContext.Current.Server.UrlEncode(destinationURL)
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.UrlEncode method at run time from an ASP.NET application. Internally, this method uses HttpUtility.UrlEncode to encode 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
UrlEncode(String, TextWriter)
URL-encodes a string and sends the resulting output to a TextWriter output stream.
public:
void UrlEncode(System::String ^ s, System::IO::TextWriter ^ output);
public void UrlEncode (string s, System.IO.TextWriter output);
member this.UrlEncode : string * System.IO.TextWriter -> unit
Public Sub UrlEncode (s As String, output As TextWriter)
Parameters
- s
- String
The text string to encode.
- output
- TextWriter
The TextWriter output stream that contains the encoded string.
Examples
The following example encodes a string for transmission by HTTP. It encodes the string named TestString
, which contains the text "This is a <Test String>.", and copies it into the string named EncodedString
as "This+is+a+%3cTest+String%3e.".
String TestString = "This is a <Test String>.";
StringWriter writer = new StringWriter();
Server.UrlEncode(TestString, writer);
String EncodedString = writer.ToString();
Dim TestString As String = "This is a <Test String>."
Dim writer As New StringWriter
Server.UrlEncode(TestString, writer)
Dim EncodedString 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.
UrlEncode is a convenient way to access the HttpUtility.UrlEncode method at run time from an ASP.NET application. Internally, UrlEncode uses HttpUtility.UrlEncode to encode strings.
To encode or decode values outside of a web application, use the WebUtility class.