次の方法で共有


HttpServerUtility.UrlEncode メソッド

定義

URL を介して Web サーバーからクライアントへの信頼性の高い HTTP 転送用の文字列をエンコードします。

オーバーロード

UrlEncode(String)

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

UrlEncode(String, TextWriter)

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

注釈

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

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

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 ページの分離コード ファイルで、Server プロパティを使用して HttpServerUtility クラスのインスタンスにアクセスします。 分離コード ファイルにないクラスでは、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 メソッドにアクセスする便利な方法です。 内部的には、UrlEncodeHttpUtility.UrlEncode を使用して文字列をエンコードします。

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

適用対象