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, они преобразуются в строки < и >, что приводит к тому, что браузер отображает меньше знака и больше, чем правильно.
Этот метод является удобным способом доступа к методу 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, которая содержит текст "<>Это тестовая строкаEncodedString"." И копирует его в строку с именем < "Это >строка теста".
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 класс.