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包含解码字符串的输出流。

示例

以下示例将名为 的字符串解码为名为 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

适用于