ASP.NET 默认会自动验证客户端提交的值,这是为了安全,但一方面也带来了麻烦,比如我们在客户端界面输入:<foo>,就会产生异常,这显然妨碍了我们的程序工作,参照 .NET Framework 2.0 原话进行解决:
从客户端(tb="<foo>")中检测到有潜在危险的 Request.Form 值。
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。
在 web.config 中修改就是:configuration -> system.web -> <pages validateRequest="false"/>。
如果是 .NET Framework 4.0 及以上版本,光设置这个还不够,还要在 httpRuntime 节中设置:requestValidationMode="2.0"。
相关阅读