J'ai un formulaire sur lequel j'utilise ckeditor. Ce formulaire fonctionnait bien sur Asp.Net 2.0 et 3.5, mais maintenant il ne fonctionne pas dans Asp.Net 4+. J'ai la directive ValidateRequest = "false". Aucune suggestion?
156
J'ai un formulaire sur lequel j'utilise ckeditor. Ce formulaire fonctionnait bien sur Asp.Net 2.0 et 3.5, mais maintenant il ne fonctionne pas dans Asp.Net 4+. J'ai la directive ValidateRequest = "false". Aucune suggestion?
Réponses:
Solution trouvée sur la page d'erreur. Juste besoin d'ajouter requestValidationMode = "2.0"
Informations MSDN: Propriété HttpRuntimeSection.RequestValidationMode
la source
Il existe un moyen de ramener la validation à 2.0 pour une page. Ajoutez simplement le code ci-dessous à votre web.config:
la source
Je sais que c'est une vieille question, mais si vous rencontrez ce problème dans MVC 3, vous pouvez décorer votre
ActionMethod
avec[ValidateInput(false)]
et simplement désactiver la validation de la demande pour un seulActionMethod
, ce qui est pratique. Et vous n'avez pas besoin d'apporter de modifications auweb.config
fichier, vous pouvez donc toujours utiliser la validation de demande .NET 4 partout ailleurs.par exemple
la source
Cela fonctionne sans changer le mode de validation.
Vous devez utiliser un
System.Web.Helpers.Validation.Unvalidated
assistant deSystem.Web.WebPages.dll
. Il va retourner unUnvalidatedRequestValues
objet qui permet d'accéder au formulaire et QueryString sans validation.Par exemple,
Fonctionne pour moi pour MVC3 et .NET 4.
la source
Notez qu'une autre approche consiste à conserver le comportement de validation 4.0, mais à définir votre propre classe qui dérive de
RequestValidator
et définit:(où
YourNamespace.YourValidator
est bien, vous devriez être capable de deviner ...)De cette façon, vous conservez les avantages du comportement de la version 4.0 (en particulier, que la validation se produit plus tôt dans le traitement), tout en autorisant également les requêtes que vous devez laisser passer.
la source