我有一个CMS控制面板的页面,用户可以使用javascipt代码填充某些文本框以保存在数据库中。服务器阻止了回调,但有以下异常:
异常消息:从客户端检测到潜在危险的Request.Form值(ctl00 $ ContentPlaceHolder1 $ txtMenuAdsenseCode =“
我不确定为什么当我没有完全回发时服务器抱怨文本框值,但是有什么方法可以关闭它吗?我在页面中添加ValidateRequest="false"
,并将其放在web.config
:
<location path="~/Admin/Settings.aspx">
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
</location>
但它仍然抛出异常。
答案 0 :(得分:1)
尝试使用Javascript将文本框代码的内容序列化到Base64,然后在代码隐藏中从Base64进行解码。
我通常使用这样的扩展方法:
public static string DecodeFrom64(this string encodedData)
{
var data = Convert.FromBase64String(encodedData);
string result = System.Text.ASCIIEncoding.ASCII.GetString(data);
return result;
}