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
, которая содержит текст "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.