最近在做项目中出现了一个这么的问题,就是前台像后台传过去的参数有一个是html格式的,结果就出现了从客户端中检测到有潜在危险的 Request.Form 值这个问题了,百度了下,解决方案无非就是2种:
由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报出“从客户端 中检测到有潜在危险的Request.Form值”这样的错。
解决方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %> eg:<%@ Page Language="C#" AutoEventWireup="false" ValidateRequest="false" CodeFile="你的页面.vb" Inherits="你的页面" %>
解决方案二: 修改web.config文件: <configuration> <system.web> <pages validateRequest="false" /> </system.web> </configuration> 因为validateRequest默认值为true。只要设为false即可。 |
上面2种方案我都测试了,应该没有适合我的项目,结果都不行,于是我想到了编码,于是在js里面就html字符串进行了编码
var test= encodeURI("<p>测试</p>");
那么再传过去就没有这个问题了,那么只需要后台进行解码就行了
string s= Server.UrlDecode(’要解码的参数‘);
最好得到的s也就是<p>测试</p>了