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 デコードする方法を示しています。 このコードは、Web ページの分離コード ファイルに存在します。 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 Web ページの分離コード ファイルで、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 出力ストリーム。

次の例では、 EncodedString (URL で受信) という名前の文字列を、 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 メソッドにアクセスする便利な方法です。 内部的には、 UrlDecodeHttpUtility.UrlDecode を使用して文字列をデコードします。

Web アプリケーションの外部で値をエンコードまたはデコードするには、 WebUtility クラスを使用します。

適用対象