我在一个用户控件上嵌入了一个所见即所得编辑器,该编辑器显然可以进入网页。当我提交页面时,我得到了"一个潜在危险的请求。从客户端检测到表单值"异常。在.NET的早期版本中,我只会关闭页面的ValidateRequest。
但是,在.NET 4.5中,它似乎具有ValidateRequestMode属性。当我将其设置为禁用时,我仍然会继续出现错误。目前还没有太多关于.NET 4.5错误的信息,所以有人知道解决方案吗?
提前谢谢。
我发现了这个问题。这与TinyMCE编辑器需要在读取和发布代码之前对内容进行编码有关。解决方案是按照m0s的建议通过javascript进行编码。TinyMCE有一个内置选项,您可以设置
encoding: "xml"
这是我设置的,但它没有编码撇号,我在内容中有撇号。因此,为了修复它,您必须将其添加到页面上的TinyMCE init函数中:
TinyMCE 3.x
setup: function (ed) {
ed.onSaveContent.add(function (i, o) {
o.content = o.content.replace(/'/g, "&apos");
});
}
TinyMCE 4.x
setup: function(editor) {
editor.on("SaveContent", function(i) {
i.content = i.content.replace(/'/g, "&apos");
});
}
我在这里找到了解决方案:http://blog.tentaclesoftware.com/archive/2012/05/21/asp-net-4-0-tinymce-and-ldquoa-potentially-dangerous-request.aspx
希望这能帮助到别人!
我通过在内容属性public virtual string content{ get; set; }
之前添加[AllowHtml]
解决了这个问题。