Eu enfrentei o mesmo problema, embora eu tenha adicionado [System.Web.Mvc.AllowHtml]
à propriedade em questão, conforme descrito em algumas respostas.
No meu caso, eu tenho uma UnhandledExceptionFilter
classe que acessa o objeto Request antes que a validação do MVC ocorra (e, portanto, AllowHtml não tem efeito) e esse acesso gera a [HttpRequestValidationException] A potentially dangerous Request.Form value was detected from the client
.
Isso significa que acessar determinadas propriedades de um objeto Request dispara implicitamente a validação (no meu caso, é a Params
propriedade).
Uma solução para impedir a validação está documentada no MSDN
Para desativar a validação de solicitação para um campo específico em uma solicitação (por exemplo, para um elemento de entrada ou valor da cadeia de caracteres de consulta), chame o método Request.Unvalidated quando você obtiver o item, conforme mostrado no exemplo a seguir
Portanto, se você tiver um código como este
var lParams = aRequestContext.HttpContext.Request.Params;
if (lParams.Count > 0)
{
...
mude para
var lUnvalidatedRequest = aRequestContext.HttpContext.Request.Unvalidated;
var lForm = lUnvalidatedRequest.Form;
if (lForm.Count > 0)
{
...
ou apenas use a Form
propriedade que parece não acionar a validação
var lForm = aRequestContext.HttpContext.Request.Form;
if (lForm.Count > 0)
{
...