ASP.NET 后台代码:
 string str = "m" + "<sup>" + "3" + "</sup>";
 Response.Write(str);页面显示结果为:m³  形式;代码追踪:
str字符串内容是:"m<sup>3</sup>";我有sql数据库中一个字段 存放的内容为:"J<sub>2</sub>h<sup>1</sup>";
但是该字段出来出在页面上显示还是和数据库字段是一样的:J<sub>2</sub>h<sup>1</sup>;
代码追踪了一下,该字段上面的内容在字符串中显示如下:"J&lt;sub&gt;2&lt;/sub&gt;h&lt;sup&gt;1&lt;/sup&gt;"
而上面 str的代码追踪却显示:"m<sup>3</sup>"
我的目的就是让这段代码("J<sub>2</sub>h<sup>1</sup>")在页面上显示的是:J的平方h的一次方 的那种数学表达式的形式。请问各位有什么办法能帮我这样显示一下!还请各位高手指点指点!
在线等!若不明白的请说明,我在详细补充或是加我QQ:104517300.长时间在线等!

解决方案 »

  1.   

    <>从界面输入给ASP.NET的话,他默认是会认为你有危险的字符串的,建议将其替换对应的编码。
    BY THE WAY:
    如果你把 J&lt;sub&gt;2&lt;/sub&gt;h&lt;sup&gt;1&lt;/sup&gt; 字符串赋给一个LABLE的话,那么他当然是会J <sub>2 </sub>h <sup>1 </sup>; 显示这个的。就像你给一个LABLE 赋:<font color='red'> aaa</font> 他显示出来的是红色的'aaa'一个道理,,建议用字符串替换一下~。
      

  2.   


    string tempStr = "J <sub>2 </sub>h <sup>1 </sup>";
            tempStr = tempStr.Replace("&lt;","<").Replace("&gt;","<");
            Response.Write(tempStr);
            tempStr = "J&lt;sub&gt;2&lt;/sub&gt;h&lt;sup&gt;1&lt;/sup&gt;";
            tempStr = tempStr.Replace("&lt;", " <").Replace("&gt;", "> ");
            Response.Write(tempStr);
      

  3.   

    当你写数据的时候替换你在前台输入的> 为&gt; ,当你读数据的时候倒过来替换,
    这样也可以防止SQL注入的~~
      

  4.   

    从数据库中取出该值赋给string value变量
    然后
    value = value.Replace("&lt;","<").Replace("&gt;",">");
    Response.Write(value);
    数据库存储内容的安全性会把一些字符用别的替换,在查询出来之后在程序里面要还原
      

  5.   

    我觉得在数据库中存放的应该也是"J&lt;sub&gt;2&lt;/sub&gt;h&lt;sup&gt;1&lt;/sup&gt;" 吧,你在数据库中看看,