HttpServerUtility.UrlDecode 方法

定义

对字符串进行解码,该字符串针对 HTTP 传输进行了编码并在 URL 中发送到服务器。

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

重载

UrlDecode(String)

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

UrlDecode(String, TextWriter)

对在 URL 中接收的 HTML 字符串进行解码,并将结果输出发送到 TextWriter 输出流。

UrlDecode(String)

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

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

参数

s
String

要解码的文本字符串。

返回

已解码的文本。

示例

以下示例演示如何对从查询字符串检索到的值进行 URL 解码。 代码驻留在网页的代码隐藏文件中。 ReturnPage 引用 HyperLink 控件。

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

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

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

注解

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

此方法是在运行时从 ASP.NET 应用程序访问 HttpUtility.UrlDecode 方法的便捷方法。 在内部,此方法使用 HttpUtility.UrlDecode 来解码字符串。

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

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

适用于

UrlDecode(String, TextWriter)

对在 URL 中接收的 HTML 字符串进行解码,并将结果输出发送到 TextWriter 输出流。

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)

参数

s
String

要解码的 HTML 字符串。

output
TextWriter

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

示例

以下示例将 URL) 中收到的名为 EncodedString (字符串解码为名为 的 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()
   

注解

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

UrlDecode 是在运行时从 ASP.NET 应用程序访问 HttpUtility.UrlDecode 方法的便捷方法。 在内部, UrlDecode 使用 HttpUtility.UrlDecode 解码字符串。

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

适用于