问题原因:由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值。环境配置会报出“从客户端 中检测到有潜在危险的Request.Form值”这样的错误。
解决方法:
1、当前提交页面,添加代码
当前.aspx页面,页头加上代码:validateRequest=”false”,如:
<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="false" CodeFile="default.aspx.cs" Inherits="default" %>
2、全局修改web.config配置文件(不安全,因此不建议这样做)
打开web.config文件,加入
<system.web >
<pages validateRequest="false" ></pages >
</system.web >
如果以上两种方法都无法解决,请接着往下看
另一原因:由于你当前的.net ifreamwork框架环境是4.0
3、同样,打开web.config配置文件,在
<system.web >
<httpRuntime requestValidationMode="2.0" />
</system.web >
4、如果你的网站程序本身是net 2.0环境开发的,但放到了VS2010软件里运行,也会出现这种情况,你可以把运行解决方案切换成net2.0即可,更换方法:项目名称右键——属性——应用程序——目标框架改为2.0。
5、另一种处理方法:由于是所传值含有特殊危险符号,那么可以在传前,利用Server.HtmlEncode(string)方法,对字符串进行编码,这样就会将危险字符转义为普通的字符。如:
TextBox1.Text=Server.HtmlEncode(str);
我个人比较懒。。。一般用第二种,不过看你对安全性的要求了。