HttpServerUtility.UrlEncode 方法

定义

编码字符串,以便通过 URL 从 Web 服务器到客户端进行可靠的 HTTP 传输。

重载

UrlEncode(String)

对字符串进行 URL 编码,并返回已编码的字符串。

UrlEncode(String, TextWriter)

对字符串进行 URL 编码,并将结果输出发送到 TextWriter 输出流。

注解

UrlEncode 是一种在运行时从 ASP.NET 应用程序访问 HttpUtility.UrlEncode 方法的便捷方法。 在内部, UrlEncode 使用 HttpUtility.UrlEncode 对字符串进行编码。

若要对 Web 应用程序之外的值进行编码或解码,请使用 WebUtility 类。

UrlEncode(String)

对字符串进行 URL 编码,并返回已编码的字符串。

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

参数

s
String

要进行 URL 编码的文本。

返回

URL 编码的文本。

示例

以下示例演示如何对用作超链接的查询字符串值的值进行 URL 编码。 代码驻留在网页的代码隐藏文件中。 在此示例中,要编码的值是硬编码的,只是为了简化示例并显示可以 URL 编码的值类型。 通常,对从用户或请求收到的值进行 URL 编码。 NextPage 引用控件 HyperLink

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

下一个示例与上一个示例类似,只不过它演示了如何从不在代码隐藏文件中的类中对值进行 URL 编码。

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

注解

URL 编码确保所有浏览器都能正确传输 URL 字符串中的文本。 问号 ( ) 、和号 (&) 、斜杠标记 (/) 等字符,某些浏览器可能会截断或损坏空格。 因此,必须在标记或查询字符串中 <a> 对这些字符进行编码,浏览器可以在请求字符串中重新发送字符串。

此方法是在运行时从 ASP.NET 应用程序访问 HttpUtility.UrlEncode 方法的一种便捷方法。 在内部,此方法使用 HttpUtility.UrlEncode 对字符串进行编码。

在 ASP.NET 网页的代码隐藏文件中,通过 Server 属性访问 类的HttpServerUtility实例。 在不在代码隐藏文件中的类中,使用 HttpContext.Current.Server 访问 类 HttpServerUtility 的实例。

在 Web 应用程序外部,使用 WebUtility 类对值进行编码或解码。

适用于

UrlEncode(String, TextWriter)

对字符串进行 URL 编码,并将结果输出发送到 TextWriter 输出流。

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)

参数

s
String

要编码的文本字符串。

output
TextWriter

TextWriter 输出包含已编码字符串的流。

示例

以下示例对字符串进行编码,以便通过 HTTP 传输。 它将编码名为 TestString的字符串,其中包含文本“This is a <Test String>.”,并将其复制到名为“This+is+a+%3cTest+String%3e”的 EncodedString 字符串中。

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()
   

注解

URL 编码确保所有浏览器都能正确传输 URL 字符串中的文本。 问号 ( ) 、和号 (&) 、斜杠标记 (/) 等字符,某些浏览器可能会截断或损坏空格。 因此,必须在标记或查询字符串中 <a> 对这些字符进行编码,浏览器可以在请求字符串中重新发送字符串。

UrlEncode 是一种在运行时从 ASP.NET 应用程序访问 HttpUtility.UrlEncode 方法的便捷方法。 在内部, UrlEncode 使用 HttpUtility.UrlEncode 对字符串进行编码。

若要对 Web 应用程序之外的值进行编码或解码,请使用 WebUtility 类。

适用于