HttpServerUtility.UrlDecode 方法    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
对字符串进行解码,该字符串针对 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 -> stringPublic 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 -> unitPublic 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 类。