日期:2014-05-19  浏览次数:20431 次

如何把textbox内输入的HTML代码以文本形式显示?
如把一段HTML代码( <IMG   SRC= "images/logo.png "   WIDTH=165   HEIGHT=80   ALT= "epb "   BORDER=0> )写在textbox内,然后写入数据库.再从数据库中读出来时只显示该段代码,不对其进行解释.


现在问题是,textbox根本不接受HTML输入,老是报这样的错误:
从客户端(txtVoice= " <IMG   SRC= "images/log... ")中检测到有潜在危险的   Request.Form   值。  
说明:   请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在   Page   指令或   配置节中设置   validateRequest=false   可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。  

异常详细信息:   System.Web.HttpRequestValidationException:   从客户端(txtVoice= " <IMG   SRC= "images/log... ")中检测到有潜在危险的   Request.Form   值。


同时我在写入数据库前是对 <、> 、   、\r\n这些标记进行过转换的,为什么还是不行?
                string   strT   =   this.txtVoice.Text;  
                strT   =   strT.Replace( " < ",   "&lt; ");
                strT   =   strT.Replace( "> ",   "&gt; ");
                strT   =   strT.Replace( "   ",   "&nbsp; ");
                strT   =   strT.Replace( "\r\n ", " <br> ");  
                t.ResumesChina   =   strT;


应该怎么样才能实现把HTML代码以文本存进去,再以文本取出来显示。

------解决方案--------------------
<%@ page validateRequest=false%>
------解决方案--------------------
HttpUtility.HtmlEncode( "文本 ");
------解决方案--------------------
2楼的方法

不过可以在web.config中设置
------解决方案--------------------
HttpUtility.HtmlEncode( "文本 ");

这个话当然在后台了,你得到的text中的字符串必须用这个方法转换后才能使用,不然网页会自己辨认那些html代码的
------解决方案--------------------
用div呀

------解决方案--------------------
<%@ page validateRequest=false%>
然后就直接读出来,但是不要还放在textBox 里面,要放在table或div里