3 Stimmen

HttpRequestValidationexception auf Asp.Net MVC

Ich erhalte eine HttpRequestValidationexception mit dieser Fehlermeldung:

“Ein potenziell gefährlicher Request.Form-Wert wurde vom Client erkannt”.

Aber ich habe AllowHtml auf der Eigenschaft, bei der ich den Fehler erhalte. Das Problem ist, dass ich später in meinem Code die folgende Eigenschaft erhalte, um zu wissen, in welchem Format ich meine Ansicht anzeigen werde ControllerContext.HttpContext.Request.Params.AllKeys.Contains("format"). Und bei diesem “Param Getter” erhalte ich den Fehler.

Angenommen, mein Code sieht ähnlich aus wie der folgende:

public class House
{
    [AllowHtml]
    public string Text { get; set; }
    public string Name { get; set; }
}

[HttpPost, ValidateAntiForgeryToken]
public ActionResult CreateTopic(House h)
{
 //business code
 if(ControllerContext.HttpContext.Request.Params.AllKeys.Contains("format"))
 {
    Return view;
 }
 }

Wie kann ich das lösen? Ich habe bereits mit dem ValidateInput(false)-Attribut beim Controller-Action-Methoden versucht. Irgendwelche Ideen?

5voto

Terry Punkte 13921

Versuchen Sie, dies zu Ihrer web.config-Datei im -Abschnitt hinzuzufügen:

Fügen Sie dann das [ValidateInput(false)]-Attribut wieder zu Ihrer Aktion hinzu.

Scott Hansleman erläutert diese Funktion hier.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X