我正在使用jQuery对ASP.NET页面进行ajax调用,该页面充当我的ajax服务器页面,以将要发送给它的数据保存在查询字符串中。在ASP.NET页中,当我尝试读取查询字符串时,出现此错误:
A potentially dangerous Request.QueryString value was detected from the client...
我已经ValidateRequest="false"在页面中设置了 。不想为所有页面设置它。在页面级别而不是配置级别也是如此:
ValidateRequest="false"
var content = "<h3>Sample header</h3><p>sample para</p>" content = encodeURIComponent(content); var url = "../Lib/ajaxhandler.aspx?mode=savecontent&page=home<xt=" + content; $.post(url, function (data) { //check return value and do something });
在我的asp.net页面上:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajaxhandler.aspx.cs" ValidateRequest="false" Inherits="MyProject.Lib.ajaxhandler" %>
但是,当我发送纯文本而不是html标记时,它可以正常工作。
如果这是ASP.NET 4,有一个重大更改用ValidateRequest。requestValidationMode。
ValidateRequest
requestValidationMode