Я зіткнувся з тим же питанням, хоча я додав [System.Web.Mvc.AllowHtml]
відповідне майно, як описано в деяких відповідях.
У моєму випадку у мене є UnhandledExceptionFilter
клас, який звертається до об'єкта Request до того, як відбудеться перевірка MVC (і тому AllowHtml не має ефекту), і цей доступ підвищує a [HttpRequestValidationException] A potentially dangerous Request.Form value was detected from the client
.
Це означає, що доступ до певних властивостей об'єкта Request неявно запускає перевірку (у моєму випадку його Params
властивість).
Рішення для запобігання валідації задокументоване на MSDN
Щоб відключити перевірку запиту для певного поля в запиті (наприклад, для вхідного елемента або значення рядка запиту), зателефонуйте метод Request.Uvavalified, коли ви отримаєте елемент, як показано в наступному прикладі
Тому, якщо у вас є такий код
var lParams = aRequestContext.HttpContext.Request.Params;
if (lParams.Count > 0)
{
...
змінити його на
var lUnvalidatedRequest = aRequestContext.HttpContext.Request.Unvalidated;
var lForm = lUnvalidatedRequest.Form;
if (lForm.Count > 0)
{
...
або просто використовувати Form
майно, яке, здається, не спрацьовує
var lForm = aRequestContext.HttpContext.Request.Form;
if (lForm.Count > 0)
{
...