我試圖通過使用Free text box control.It我的web項目發送一封電子郵件中檢測到有潛在危險的Request.Form值的意思是一個文本編輯器。但我有這個錯誤。什麼是從客戶端的錯誤消息
從客戶端檢測到有潛在危險的Request.Form值(FreeTextBox1 =「hello我親愛的」)。 我設置了ValidateRequest = false,並設置了isbodyHtml = true。但它不起作用。
我該怎麼辦?
我試圖通過使用Free text box control.It我的web項目發送一封電子郵件中檢測到有潛在危險的Request.Form值的意思是一個文本編輯器。但我有這個錯誤。什麼是從客戶端的錯誤消息
從客戶端檢測到有潛在危險的Request.Form值(FreeTextBox1 =「hello我親愛的」)。 我設置了ValidateRequest = false,並設置了isbodyHtml = true。但它不起作用。
我該怎麼辦?
我以前有過這個。
您還需要添加到您的web.config文件。
如果你把你的頁面進入調試模式,並讀取它告訴你的錯誤信息添加什麼和在哪裏添加它的文本。我不記得100%爲什麼發生錯誤,我認爲這是與回發頁面內容有關,並且瀏覽器認爲存在有害代碼。
參見:A potentially dangerous Request.Form value was detected from the client
和
http://www.codeproject.com/Tips/297679/A-potentially-dangerous-Request-Form-value-was-det
更完整的解釋和解決方案。
如果您運行的.NET 4.0中,你的web.config添加此(下System.Web程序)
<httpRuntime requestValidationMode="2.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(">", ">").Replace("<", "<").Replace("&", "&").Replace(""", ('"').ToString()).Replace("’", "'");
@Radu爲什麼呢?它的一個不錯的回合數... – 2012-04-18 13:44:03
可能重複的[從客戶端檢測到潛在危險的Request.Form值](http://stackoverflow.com/questions/81991/a-potentially-dangerous-request-form-value -was-檢測從 - 所述客戶端) – CAbbott 2012-04-18 13:49:17