当从jquery post call发送html标记到asp.net页面时,从客户端检测到一个潜在的危险的Request.QueryString值

我使用jQuery调用ajax到ASP.NET页面,作为我的ajax服务器页面,以保存在查询字符串中发送给它的数据。在ASP.NET页面,当我试图读取querystring我得到这个错误
A potentially dangerous Request.QueryString value was detected from the client...

我在我的页面中设置ValidateRequest =“false”。不要为所有页面设置它。所以在页面级别而不是配置级别:

var content = "<h3>Sample header</h3><p>sample para</p>"
  content = encodeURIComponent(content);
  var url = "../Lib/ajaxhandler.aspx?mode=savecontent&page=home&ltxt=" + 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,有一个 breaking change与ValidateRequest。有关requestValidationMode的更多信息,请参阅 this StackOverflow question

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...