惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
H
Help Net Security
量子位
The Cloudflare Blog
博客园 - Franky
博客园 - 聂微东
博客园 - 司徒正美
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
罗磊的独立博客
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
MongoDB | Blog
MongoDB | Blog

博客园 - 路人

IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法 如何在VS2010中使用Async功能? 如何解决MySQLAdministrator 启动报错 转_关于图片的预加载 检索 COM 类工厂中 CLSID 为{}的组件时失败,原因是出现以下错误: 8007007e 在catch块中throw new Exception的意义 在线取色器-转 数据库查询优化-转 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式 ... - 路人 - 博客园 SQLSERVER中日期显示样式(网络收集) DVD-RAM 格式化失败及视频文件分割软件 制作VCD/DVD方法 如何在oracle中导入dmp数据库文件 提高ASP.NET效率的几个方面 注册DLL的两种方法 chr(10) chr(13) chr(32) vs2003错误求救 不能上网修复网络协议 存储过程1
InnerHtml and InnerText
路人 · 2006-12-28 · via 博客园 - 路人

1.InnerHtml 属性

InnerHtml 属性不自动对进出 HTML 实体的特殊字符进行编码。HTML 实体允许显示特殊字符(如 < 字符),浏览器通常会将这些字符解释为具有特殊含义。< 字符会被解释为标志的开头,并且不会在页面上显示。若要显示 < 字符,将需要使用实体 &lt;。

例如,如果 InnerHtml 属性设置为 "<b> Hello </b>",则 < 和 > 字符不会分别转换为 &lt; 和 &gt;。呈现的输出仍将是:<b> Hello </b>。浏览器将检测 <b> 标记并用粗体显示“Hello”文本。

警告 由于未对此文本进行 HTML 编码,因此可以在文本的 HTML 标记内嵌入脚本。如果该属性是使用用户输入动态设置的,请务必验证它的值以减少安全漏洞。
若要提供自动 HTML 编码和解码,请使用 InnerText 属性。

注意 如果不存在子控件,则 InnerHtml 属性包含值 String.Empty。

C#]
<%@ Page Language="C#" AutoEventWireup="True" %>

<html>
<script language="C#" runat=server>

void Page_Load(Object Src, EventArgs E) {
Message.InnerHtml = "Welcome! You accessed this page at: " + DateTime.Now;
}

</script>

<body>

<span id="Message" runat=server></span>

</body>
</html>

2.InnerText 属性

与 InnerHtml 属性不同,InnerText 属性自动对进出 HTML 实体的特殊字符进行编码。HTML 实体允许显示特殊字符(如 < 字符),浏览器通常会将这些字符解释为具有特殊含义。< 字符会被解释为标志的开头,并且不会在页面上显示。若要显示 < 字符,将需要使用实体 &lt;。

例如,如果 InnerText 属性设置为 "<b> Hello </b>",则 < 和 > 符号分别转换为 &lt; 和 &gt;。呈现的输出将是:&lt; b &gt; Hello &lt;/b &gt;。&lt; 和 &gt; 实体将向浏览器指示这些字符将显示在页上。浏览器将不检测 <b> 标记并用粗体显示该文本。显示在页上的文本是:<b> Hello </b>。

若要放置自动 HTML 编码和解码,请使用 InnerHtml 属性。

注意 如果不存在子控件,则 InnerHtml 属性包含值 String.Empty。
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>

<html>
<script language="C#" runat=server>

void Page_Load(Object Src, EventArgs E) {
Message.InnerText = "To make text bold, use the <b> tag.";
}

</script>

<body>

<B><span id="Message" runat=server></span></B>

</body>
</html

小结: InnerHtml 是 不对特殊符号编译的,Html会根据标记解析处理页面。。“处理输出”。

InnerText 是 自动对符号编译的,Html会把被编译的符号还原成符号的样子,而不是解 析处理。“原样输出”。