(转载时,请表明出处!)
参考自:http://hi.baidu.com/panjundao/blog/item/787d56cdc489a834b700c867.html
(当然,自己也做了不少修改,将之前不规范的写法规范化了。呵,我也是再次回来看的时候,发现园中不能看到从百度复制过来的图片。然后我将代码粘贴到VS运行后才知道他写的代码很不规范!所以,我都将它规范了!运行后,自己截图!)
今天做一个网页,做着做着,突然想到了HTML服务器控件的InnerHtml属性及InnerText属性,一直以来都没会区分这两者的区别。今天兴致来了,就百度了一下,以下内容就是从别人的百度空间转载的(我在园中搜了一下,发现没有这方面的内容,所以就转了!):
1、InnerHtml属性以编程方式修改HTML服务器控件的开始和结束标记中的内容。InnerHtml属性不自动对进出HTML实体的特殊字符进行编码。 HTML实体允许显示特殊字符(如<字符),浏览器通常会将这些字符解释为具有特殊含义。<字符会被解释为标志的开头,并且不会在页面上显示。若要显示<字符,将需要使用实体<。
2、InnerText属性以编程方式修改HTML服务器控件的开始和结束标记之间的内容。与InnerHtml属性不同,InnerText属性自动对进出HTML实体的特殊字符进行编码。
例:两个控件的属性假设都为<b>试验</b>,对于InnerHtml属性而言会将其中的<b>标注加以解译,所以显示出粗体的文字;而对于InnerText属性而言不会将其中的<b>标注加以解译,所以会将<b>试验</b>一五一十的显示出来:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head >
<title >InnerHtml 测试、InnerText 测试</title>
</head>
<script language="c#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
sp1.InnerHtml="InnerHtml 测试";
sp2.InnerText="InnerText 测试";
}
public void Button1_Click(object sender,EventArgs e)
{
sp1.InnerHtml="<b>测试</b>";
sp2.InnerText="<b>测试</b>";
}
</script>
<body >
<form runat="server" id="form1">
<input type="button" id="button1" runat="server" onserverclick="Button1_Click" value="请按此处" />
<br />
<span id="sp1" runat="server" />
<br />
<span id="sp2" runat="server" />
</form>
</body>
</html>
程序执行结果如图。
点击按钮后的运行结果如图
最后,总结一下:我看文字,看来看去还是不知道InnerHtml属性及InnerText属性的区别,直到看测试结果才知道!感觉此空间的主人说的太深奥了,还不如说:InnerHtml,显示文字并执行HTML标签功能;而InnerText,不执行HTML标签功能而只显示所有文字字符串。这样才更明了,简洁!各位,不知道我这样理解对不对?