HttpServerUtility.HtmlEncode Метод
В этой статье
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Кодирует строку, отображаемую в браузере.
Чтобы кодировать или декодировать значения вне веб-приложения, используйте класс WebUtility.
HtmlEncode(String) |
Кодирует строку в формате HTML и возвращает закодированную строку. |
HtmlEncode(String, TextWriter) |
Кодирует строку в формате HTML и отправляет результирующие выходные данные в поток вывода TextWriter. |
Кодирует строку в формате 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, они преобразуются в строки <
и >
, что приводит к тому, что браузер правильно отображает знак меньше и больше.
Этот метод является удобным способом доступа к методу HttpUtility.HtmlEncode во время выполнения из приложения ASP.NET. Внутренне этот метод использует для HttpUtility.HtmlEncode кодирования строк.
В файле кода программной части для веб-страницы ASP.NET доступ к экземпляру HttpServerUtility класса с помощью Server
свойства . В классе, который не находится в файле кода программной части, используйте для HttpContext.Current.Server
доступа к экземпляру HttpServerUtility класса .
Вне веб-приложения используйте класс для WebUtility кодирования или декодирования значений.
Применяется к
.NET Framework 4.8.1 и другие версии
Продукт | Версии |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Кодирует строку в формате 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 — это удобный способ доступа к методу HttpUtility.HtmlEncode во время выполнения из приложения ASP.NET. HtmlEncode Внутренне использует HttpUtility.HtmlEncode для кодирования строк.
Чтобы кодировать или декодировать значения вне веб-приложения, используйте класс WebUtility.
Применяется к
.NET Framework 4.8.1 и другие версии
Продукт | Версии |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |