Ich hatte das gleiche Problem, obwohl ich [System.Web.Mvc.AllowHtml]
die betreffende Eigenschaft wie in einigen Antworten beschrieben ergänzt habe.
In meinem Fall habe ich eine UnhandledExceptionFilter
Klasse, die auf das Request-Objekt zugreift, bevor die MVC-Validierung stattfindet (und daher hat AllowHtml keine Auswirkung), und dieser Zugriff löst a aus [HttpRequestValidationException] A potentially dangerous Request.Form value was detected from the client
.
Dies bedeutet, dass der Zugriff auf bestimmte Eigenschaften eines Request-Objekts implizit die Validierung auslöst (in meinem Fall ist es die Params
Eigenschaft).
Eine Lösung zur Verhinderung der Validierung ist in MSDN dokumentiert
Um die Anforderungsüberprüfung für ein bestimmtes Feld in einer Anforderung zu deaktivieren (z. B. für ein Eingabeelement oder einen Abfragezeichenfolgenwert), rufen Sie die Methode Request.Unvalidated auf, wenn Sie das Element erhalten, wie im folgenden Beispiel gezeigt
Daher, wenn Sie Code wie diesen haben
var lParams = aRequestContext.HttpContext.Request.Params;
if (lParams.Count > 0)
{
...
ändere es auf
var lUnvalidatedRequest = aRequestContext.HttpContext.Request.Unvalidated;
var lForm = lUnvalidatedRequest.Form;
if (lForm.Count > 0)
{
...
oder verwenden Sie einfach die Form
Eigenschaft, die keine Validierung auszulösen scheint
var lForm = aRequestContext.HttpContext.Request.Form;
if (lForm.Count > 0)
{
...