1

我试图通过我的网络项目使用自由文本框控件发送电子邮件。它是一个文本编辑器。但我有这个错误。

从客户端检测到一个潜在危险的 Request.Form 值(FreeTextBox1="你好,亲爱的")。 我设置了 ValidateRequest=false 并设置了 isbodyHtml=true。但它不起作用。

我应该怎么办?

4

4 回答 4

1

请看这个问题的答案:

ValidateRequest="false" 在 Asp.Net 4 中不起作用

这是 .net 4.0 中的一个变化。

于 2012-04-18T13:49:09.253 回答
0

我以前有过这个。

您还需要添加到您的 web.config 文件中。

如果您将页面置于调试模式并阅读带有错误消息的文本,它会告诉您要添加什么以及在哪里添加它。我不记得 100% 为什么会发生错误,我认为这与回发页面内容有关,并且浏览器认为其中存在有害代码。

另请参阅: 从客户端检测到具有潜在危险的 Request.Form 值

http://www.codeproject.com/Tips/297679/A-potentially-dangerous-Request-Form-value-was-det

以获得更完整的解释和解决方案。

于 2012-04-18T13:49:02.903 回答
0

如果您正在运行 .NET 4.0,请将其添加到您的 web.config(在 system.web 下)

<httpRuntime requestValidationMode="2.0" />
于 2012-04-18T14:31:23.357 回答
0

FreeTexBox 控件和“从客户端检测到潜在危险的 Request.Form 值”

你可以尝试另一个决定

 if(!this.Page.ClientScript.IsOnSubmitStatementRegistered("Replace"))
{
 string script = @"if (Page_IsValid){FTB_API['" + txtBox.ClientID + @"'].initialized=false;   FTB_API['"  + txtBox.ClientID + @"'].htmlEditor.value=FTB_FreeTextBox.prototype.HtmlEncode( FTB_API['" + txtBox.ClientID + @"'].htmlEditor.value);}";
 this.Page.ClientScript.RegisterOnSubmitStatement(this.Page.GetType(), "Replace", script);
}

当您将字符串从服务器发送到客户端应用程序时,不要忘记替换符号

if(!String.IsNullOrEmpty(yourstring)) txtBox.Text= yourstring.Replace("&gt;", ">").Replace("&lt;", "<").Replace("&amp;", "&").Replace("&quot;", ('"').ToString()).Replace("&#146;", "'");
于 2012-05-30T13:42:26.383 回答