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 編碼,做為超連結的查詢字串值。 程式代碼位於網頁的程式代碼後置檔案中。 要編碼的值只會在此範例中硬式編碼,以簡化範例,並顯示您可以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 字串中的文字。 問號 (?) 、ampersand (&) 、斜線標記 (/) 等字元,而某些瀏覽器可能會截斷或損毀空格。 因此,這些字元必須在標籤, <a> 或在查詢字串中,瀏覽器可以在要求字串中重新傳送字串。

此方法是一種方便的方式,可從 HttpUtility.UrlEncode ASP.NET 應用程式存取運行時間的方法。 在內部,這個方法會使用 HttpUtility.UrlEncode 來編碼字串。

在 ASP.NET 網頁的程式代碼後置檔案中,透過 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 傳輸。 它會編碼名為 TestString的字串,其中包含 “This is a <Test String>”文字,並將它複製到名為 EncodedString “This+is+a+%3cTest+String%3e” 的字符串中。

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 字串中的文字。 問號 (?) 、ampersand (&) 、斜線標記 (/) 等字元,而某些瀏覽器可能會截斷或損毀空格。 因此,這些字元必須在標籤, <a> 或在查詢字串中,瀏覽器可以在要求字串中重新傳送字串。

UrlEncode 是一種方便的方式,可從 ASP.NET 應用程式在運行時間存取 HttpUtility.UrlEncode 方法。 在內部使用 UrlEncodeHttpUtility.UrlEncode 來編碼字串。

若要編碼或解碼 Web 應用程式之外的值,請使用 WebUtility 類別。

適用於