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
的字符串进行编码,其中包含文本“这是一个 <测试字符串>”。并将其复制到名为 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 是一种在运行时从 ASP.NET 应用程序访问 HttpUtility.HtmlEncode 方法的便捷方法。 在内部, HtmlEncode 使用 HttpUtility.HtmlEncode 对字符串进行编码。
若要对 Web 应用程序之外的值进行编码或解码,请使用 WebUtility 类。