aug  

(转载时,请表明出处!)

参考自:http://hi.baidu.com/panjundao/blog/item/787d56cdc489a834b700c867.html

(当然,自己也做了不少修改,将之前不规范的写法规范化了。呵,我也是再次回来看的时候,发现园中不能看到从百度复制过来的图片。然后我将代码粘贴到VS运行后才知道他写的代码很不规范!所以,我都将它规范了!运行后,自己截图!)

     今天做一个网页,做着做着,突然想到了HTML服务器控件的InnerHtml属性及InnerText属性,一直以来都没会区分这两者的区别。今天兴致来了,就百度了一下,以下内容就是从别人的百度空间转载的(我在园中搜了一下,发现没有这方面的内容,所以就转了!):

1、InnerHtml属性以编程方式修改HTML服务器控件的开始和结束标记中的内容。InnerHtml属性不自动对进出HTML实体的特殊字符进行编码。   HTML实体允许显示特殊字符(如<字符),浏览器通常会将这些字符解释为具有特殊含义。<字符会被解释为标志的开头,并且不会在页面上显示。若要显示<字符,将需要使用实体&lt。
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标签功能而只显示所有文字字符串。这样才更明了,简洁!各位,不知道我这样理解对不对?

 

 

 

 

 

posted on 2010-08-18 20:30  Aug  阅读(1001)  评论(0编辑  收藏  举报