HttpServerUtility.UrlEncode メソッド

定義

URL を使用して Web サーバーからクライアントへ信頼性のある HTTP 伝送を行うために、文字列をエンコードします。

オーバーロード

UrlEncode(String)

文字列を URL エンコードし、エンコードされた文字列を返します。

UrlEncode(String, TextWriter)

文字列を URL エンコードし、その結果の出力を TextWriter 出力ストリームに送信します。

注釈

UrlEncode は、ASP.NET アプリケーションから実行時に HttpUtility.UrlEncode メソッドにアクセスするための便利な方法です。 内部的には、 UrlEncode を使用 HttpUtility.UrlEncode して文字列をエンコードします。

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

UrlEncode(String)

文字列を URL エンコードし、エンコードされた文字列を返します。

public:
 System::String ^ UrlEncode(System::String ^ s);
public string UrlEncode (string s);
member this.UrlEncode : string -> string
Public Function UrlEncode (s As String) As String

パラメーター

s
String

URL エンコードするテキスト。

戻り値

URL エンコードされたテキスト。

次の例は、ハイパーリンクのクエリ文字列値として使用される値を URL エンコードする方法を示しています。 このコードは、Web ページの分離コード ファイルに存在します。 この例では、エンコードする値は、例を簡略化し、URL エンコードする値の種類を示すためだけにハードコーディングされています。 通常は、ユーザーまたは要求から受け取った値を URL エンコードします。 NextPage はコントロールを HyperLink 参照します。

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string destinationURL = "http://www.contoso.com/default.aspx?user=test";

        NextPage.NavigateUrl = "~/Finish?url=" + Server.UrlEncode(destinationURL);
    }             
}
Public Class _Default
    Inherits Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Dim destinationURL = "http://www.contoso.com/default.aspx?user=test"

        NextPage.NavigateUrl = "~/Finish?url=" + Server.UrlEncode(destinationURL)
    End Sub
End Class

次の例は前の例に似ていますが、分離コード ファイルにないクラス内から値を URL エンコードする方法を示しています。

public class SampleClass
{
    public string GetUrl()
    {
        string destinationURL = "http://www.contoso.com/default.aspx?user=test";

        return "~/Finish?url=" + HttpContext.Current.Server.UrlEncode(destinationURL);
    }
}
Public Class SampleClass
    Public Function GetUrl() As String
        Dim destinationURL = "http://www.contoso.com/default.aspx?user=test"

        Return "~/Finish?url=" + HttpContext.Current.Server.UrlEncode(destinationURL)
    End Function
End Class

注釈

URL エンコードを使用すると、すべてのブラウザーが URL 文字列内のテキストを正しく送信できます。 一部のブラウザーでは、疑問符 (?)、アンパサンド (&)、スラッシュ (/)、スペースなどの文字が切り捨てられたり破損したりする可能性があります。 その結果、これらの文字はタグまたはクエリ文字列で <a> エンコードする必要があります。ここで、要求文字列内のブラウザーから文字列を再送信できます。

このメソッドは、ASP.NET アプリケーションから実行時に HttpUtility.UrlEncode メソッドにアクセスする便利な方法です。 内部的には、このメソッドは を使用 HttpUtility.UrlEncode して文字列をエンコードします。

ASP.NET Web ページの分離コード ファイルで、 プロパティを使用して クラスのインスタンスにHttpServerUtilityServerアクセスします。 分離コード ファイルにないクラスでは、 を使用 HttpContext.Current.Server して クラスのインスタンスに HttpServerUtility アクセスします。

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

適用対象

UrlEncode(String, TextWriter)

文字列を URL エンコードし、その結果の出力を TextWriter 出力ストリームに送信します。

public:
 void UrlEncode(System::String ^ s, System::IO::TextWriter ^ output);
public void UrlEncode (string s, System.IO.TextWriter output);
member this.UrlEncode : string * System.IO.TextWriter -> unit
Public Sub UrlEncode (s As String, output As TextWriter)

パラメーター

s
String

エンコードする文字列。

output
TextWriter

エンコードされた文字列を格納している TextWriter 出力ストリーム。

次の例では、HTTP による転送用の文字列をエンコードします。 "This is a <Test String>" というテキストを含む という名前TestStringの文字列をエンコードし、"This+is+a+%3cTest+String%3e" という名前EncodedStringの文字列にコピーします。

String TestString = "This is a <Test String>.";
StringWriter writer = new StringWriter();
Server.UrlEncode(TestString, writer);
String EncodedString = writer.ToString();

Dim TestString As String = "This is a <Test String>."
Dim writer As New StringWriter
Server.UrlEncode(TestString, writer)
Dim EncodedString As String = writer.ToString()
   

注釈

URL エンコードを使用すると、すべてのブラウザーが URL 文字列内のテキストを正しく送信できます。 一部のブラウザーでは、疑問符 (?)、アンパサンド (&)、スラッシュ (/)、スペースなどの文字が切り捨てられたり破損したりする可能性があります。 その結果、これらの文字はタグまたはクエリ文字列で <a> エンコードする必要があります。ここで、要求文字列内のブラウザーから文字列を再送信できます。

UrlEncode は、ASP.NET アプリケーションから実行時に HttpUtility.UrlEncode メソッドにアクセスするための便利な方法です。 内部的には、 UrlEncode を使用 HttpUtility.UrlEncode して文字列をエンコードします。

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

適用対象