HttpServerUtility.UrlEncode 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
經由 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 類別。