public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //提交按钮
         string strMessage = this.TextBox1.Text;
        strMessage = strMessage.Replace("<", "<font> < </font>");
        this.TextBox1.Text = strMessage;
    }
}
如上代码,运行时,我在textbox1中输入了  <><>   点"提交"就变成了: <font> < </font>><font> < </font>>
但是我写<html></html>时,却出了这么大的错!!!!!!!!
========================================================
从客户端(TextBox1="<html
>")中检测到有潜在危险的 Request.Form 值。 
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(TextBox1="<html
>")中检测到有潜在危险的 Request.Form 值。
=======================================================
请问这是怎么回事 呢?我的目的就是想,在textbox1中输入代码也原样输出,htmlencode我知道,请帮我改这个函数好吗?

解决方案 »

  1.   

    VisualStudio2005(c#)项目调试问题解决方案:检测到有潜在危险的 Request.Form 值原因: (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置(2)HTML里面写了两个<form>引起解决: 
    方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false"  %> 
    方案二: 修改web.config文件:
     <configuration>
      <system.web> 
      <pages validateRequest="false" /> 
      </system.web> 
      </configuration> 
    因为validateRequest默认值为true。只要设为false即可。
      

  2.   

    方案一: 在.aspx文件头中加入这句:  <%@ Page validateRequest="false"  %>