语言

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 网页的代码隐藏文件中,通过 HttpServerUtility 属性访问 Server 类的实例。 在不在代码隐藏文件中的类中,用于 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包含解码字符串的输出流。

示例

以下示例将名为 的字符串解码为名为 EncodedStringDecodedString 的字符串。

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 。

适用于