Поделиться через


HttpServerUtility.HtmlEncode Метод

Определение

Кодирует строку, отображаемую в браузере.

Чтобы кодировать или декодировать значения вне веб-приложения, используйте класс 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, они преобразуются в строки &lt; и &gt;, что приводит к тому, что браузер правильно отображает знак меньше и больше.

Этот метод является удобным способом доступа к методу HttpUtility.HtmlEncode во время выполнения из приложения ASP.NET. Внутренне этот метод использует для HttpUtility.HtmlEncode кодирования строк.

В файле кода программной части для веб-страницы ASP.NET доступ к экземпляру HttpServerUtility класса с помощью Server свойства . В классе, который не находится в файле кода программной части, используйте для HttpContext.Current.Server доступа к экземпляру HttpServerUtility класса .

Вне веб-приложения используйте класс для 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 этих двух символов — &lt; и &gt;соответственно, что приводит к правильному отображению в браузере знака "меньше" и "больше".

HtmlEncode — это удобный способ доступа к методу HttpUtility.HtmlEncode во время выполнения из приложения ASP.NET. HtmlEncode Внутренне использует HttpUtility.HtmlEncode для кодирования строк.

Чтобы кодировать или декодировать значения вне веб-приложения, используйте класс WebUtility.

Применяется к