HttpServerUtility.HtmlEncode 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將字串編碼以顯示於瀏覽器。
若要編碼或解碼 Web 應用程式之外的值,請使用 WebUtility 類別。
多載
HtmlEncode(String) |
將字串作 HTML 編碼,並傳回編碼的字串。 |
HtmlEncode(String, TextWriter) |
將字串作 HTML 編碼,並送出結果輸出至 TextWriter 輸出資料流。 |
HtmlEncode(String)
將字串作 HTML 編碼,並傳回編碼的字串。
public:
System::String ^ HtmlEncode(System::String ^ s);
public string HtmlEncode (string s);
member this.HtmlEncode : string -> string
Public Function HtmlEncode (s As String) As String
參數
- s
- String
要編碼的文字字串。
傳回
HTML 編碼的文字。
範例
下列範例示範如何 HTML 編碼可能編碼不安全程式碼的值。 程式碼位於網頁的程式碼後置檔案中。 要編碼的值只會在此範例中硬式編碼,以簡化範例,並顯示您可能會進行 HTML 編碼的數值型別。 一般而言,您會以 HTML 編碼方式編碼您從使用者或要求收到的值。
Result
是指 Literal
控制項。
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
Result.Text = Server.HtmlEncode("<script>unsafe</script>");
}
}
Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Result.Text = Server.HtmlEncode("<script>unsafe</script>")
End Sub
End Class
下一個範例與上一個範例類似,不同之處在于它示範如何在不在程式碼後置檔案中的類別內 HTML 編碼值。
public class SampleClass
{
public string GetEncodedText()
{
return HttpContext.Current.Server.HtmlEncode("<script>unsafe</script>");
}
}
Public Class SampleClass
Public Function GetEncodedText() As String
Return HttpContext.Current.Server.HtmlEncode("<script>unsafe</script>")
End Function
End Class
備註
HTML 編碼可確保在瀏覽器中正確顯示文字,而不會由瀏覽器解譯為 HTML。 例如,如果文字字串包含小於符號 () < 或大於符號 () > ,瀏覽器會將這些字元解譯為 HTML 標籤的開頭或右括弧。 當字元經過 HTML 編碼時,它們會轉換成字串 <
和 >
,這會導致瀏覽器顯示小於符號且大於正負號。
此方法是從 ASP.NET 應用程式在執行時間存取 HttpUtility.HtmlEncode 方法的便利方式。 在內部,這個方法會使用 HttpUtility.HtmlEncode 來編碼字串。
在 ASP.NET 網頁的程式碼後置檔案中,透過 Server
屬性存取 類別的 HttpServerUtility 實例。 在不在程式碼後置檔案中的類別中,使用 HttpContext.Current.Server
來存取 類別的 HttpServerUtility 實例。
在 Web 應用程式外部,使用 WebUtility 類別來編碼或解碼值。
適用於
HtmlEncode(String, TextWriter)
將字串作 HTML 編碼,並送出結果輸出至 TextWriter 輸出資料流。
public:
void HtmlEncode(System::String ^ s, System::IO::TextWriter ^ output);
public void HtmlEncode (string s, System.IO.TextWriter output);
member this.HtmlEncode : string * System.IO.TextWriter -> unit
Public Sub HtmlEncode (s As String, output As TextWriter)
參數
- s
- String
要編碼的字串。
- output
- TextWriter
包含已編碼字串的 TextWriter 輸出資料流。
範例
下列範例會編碼字串以供 HTTP 傳輸。 它會編碼名為 TestString
的字串,其中包含「This is a < Test String.」 文字,並將它複製到名為 EncodedString
「This is a < Test String >> 」 的字串中。
String TestString = "This is a <Test String>.";
StringWriter writer = new StringWriter();
Server.HtmlEncode(TestString, writer);
String EncodedString = writer.ToString();
Dim TestString As String = "This is a <Test String>."
Dim writer As New StringWriter
Server.HtmlEncode(TestString, writer)
Dim EncodedString As String = writer.ToString()
備註
HTML 編碼可確保在瀏覽器中正確顯示文字,不會由瀏覽器解譯為 HTML。 例如,如果文字字串包含小於符號 (<) 或大於符號 (>) ,瀏覽器會將這些字元解譯為 HTML 標籤的開頭或右括弧。 這兩個字元 <
的 HTML 編碼分別是 和 >
,這會導致瀏覽器顯示小於正負號且大於正負號。
HtmlEncode 是一種從 ASP.NET 應用程式在執行時間存取 HttpUtility.HtmlEncode 方法的便利方式。 在內部, HtmlEncode 使用 HttpUtility.HtmlEncode 來編碼字串。
若要編碼或解碼 Web 應用程式之外的值,請使用 WebUtility 類別。