2016-05-10 2 views
0

Ich verfüge über ein ASP.NET-Webformular, mit dem ein Benutzer eine E-Mail aus meiner Anwendung senden kann. Das Formular enthält drei Textfelder, ein Steuerelement zum Hochladen von Dateien und eine Schaltfläche zum Senden der E-Mail.Das dynamische Zuweisen einer Zeichenfolge zum Textfeld bewirkt, dass "ein potenziell gefährlicher Request.Form-Wert vom Client erkannt wurde" Fehler

Mailmessage.value =;

Wenn ich die obige Zeile auskommentieren und durch "Mailmessage.Value = "Some string";" ersetzen, funktioniert mein Programm gut.

Das oben genannte ist in einem Klick-Ereignishandler namens "EmailButton_Click" enthalten. Ich habe alle Lösungen ausprobiert, die im folgenden Artikel beschrieben sind, aber keine von ihnen löste mein Problem: http://www.aspsnippets.com/Articles/ASPNet-Error-A-potentially-dangerous-RequestForm-value-was-detected-from-the-client.aspx

Vielen Dank im Voraus für Ihre Hilfe.

+0

einen Stringbuilder Nutzen Sie die Nachricht zu konstruieren. –

+3

Mögliches Duplikat von [Ein potentiell gefährlicher Request.Form-Wert wurde vom Client erkannt] (http://stackoverflow.com/questions/81991/a-potentially-dangerous-request-form-value-was-detect-from-the-) -client) – Xiaoy312

+0

Was ist ** Mailmessage.Value **? Ich denke nicht, Mailmessage.Value Zeile löst Ausnahme aus. Können Sie Zeile für Zeile debuggen und die Zeile, die die Ausnahme auslöst, veröffentlichen? – Win

Antwort

0

Legen Sie in der aspx-Seite, die Sie die Methode aufrufen, die Überprüfungsanforderung auf false fest.

ValidateRequest = "false" 

und bauen Sie Ihre Nachricht wie diese

StringBuilder msg = new StringBuilder(); 

msg.Append(Environment.NewLine); 
msg.Append(Environment.NewLine); 
msg.Append(Environment.NewLine); 
msg.Append("Issue ID: "); 
msg.Append(Session["IssueID"].ToString()); 
msg.Append(Environment.NewLine); 
msg.Append("Issue Name: "); 
msg.Append(Session["IssueName"].ToString()); 
msg.Append(Environment.NewLine); 
msg.Append(Environment.NewLine); 
msg.Append("Please do not reply to this message. Replies to this message are routed to an unmonitored mailbox. If you have questions or comments, please contact "); 
msg.Append(Session["UserFullName"].ToString()); 
msg.Append(" at \""); 
msg.Append(Session["UserEmailAddress"].ToString()); 
msg.Append("CONFIDENTIALITY NOTICE: This communication with its contents may contain confidential and/or legally privileged information. It is solely for the use of the intended recipient(s). Unauthorized interception, review, use, forwarding or disclosure is prohibited and may violate applicable laws including the Electronic Communications Privacy Act. If you are not the intended recipient, please contact the sender and destroy all copies of the communication."); 

Mailmessage.Value = msg.ToString(); 
+0

Ich habe versucht, Ihre Lösung, aber ich fahre fort, den gleichen Fehler zu bekommen. Ich habe auch versucht, die Seitenanweisung ValidateRequest auf false zu setzen. – Techie2015

Verwandte Themen