[System.Web.Mvc.AllowHtml]
Bazı cevaplarda anlatıldığı gibi ilgili mülke eklememe rağmen aynı sorunla karşılaştım .
Benim durumumda, MVC doğrulaması gerçekleşmeden önceUnhandledExceptionFilter
Request nesnesine erişen bir sınıfa sahibim (ve bu nedenle AllowHtml etkisizdir) ve bu erişim bir .[HttpRequestValidationException] A potentially dangerous Request.Form value was detected from the client
Bu, bir Request nesnesinin belirli özelliklerine erişmenin dolaylı olarak doğrulamayı başlattığı anlamına gelir (benim durumumda, Params
özelliği).
Doğrulamayı önlemek için bir çözüm MSDN'de belgelenmiştir
Bir istekteki belirli bir alan için istek doğrulamasını devre dışı bırakmak için (örneğin, bir giriş öğesi veya sorgu dizesi değeri için), aşağıdaki örnekte gösterildiği gibi öğeyi aldığınızda Request.Unvalidated yöntemini çağırın
Bu nedenle, böyle bir kodunuz varsa
var lParams = aRequestContext.HttpContext.Request.Params;
if (lParams.Count > 0)
{
...
şuna değiştir
var lUnvalidatedRequest = aRequestContext.HttpContext.Request.Unvalidated;
var lForm = lUnvalidatedRequest.Form;
if (lForm.Count > 0)
{
...
veya sadece Form
doğrulama başlatmıyor gibi görünen mülkü kullanın
var lForm = aRequestContext.HttpContext.Request.Form;
if (lForm.Count > 0)
{
...