Ich habe ein Formular, in dem ich ckeditor verwende. Dieses Formular hat in Asp.Net 2.0 und 3.5 gut funktioniert, aber jetzt funktioniert es in Asp.Net 4+ nicht mehr. Ich habe die Anweisung ValidateRequest = "false". Irgendwelche Vorschläge?
asp.net
asp.net-4.0
validate-request
HasanG
quelle
quelle
Antworten:
Lösung auf der Fehlerseite gefunden. Nur erforderlich, um requestValidationMode = "2.0" hinzuzufügen
MSDN-Informationen: HttpRuntimeSection.RequestValidationMode-Eigenschaft
quelle
Es gibt eine Möglichkeit, die Validierung für eine Seite auf 2.0 zurückzusetzen. Fügen Sie einfach den folgenden Code zu Ihrer web.config hinzu:
quelle
Ich weiß, dass dies eine alte Frage ist, aber wenn Sie in MVC 3 auf dieses Problem stoßen, können Sie Ihre
ActionMethod
mit dekorieren[ValidateInput(false)]
und einfach die Anforderungsvalidierung für eine einzelne deaktivierenActionMethod
, was praktisch ist. Außerdem müssen Sie keine Änderungen an derweb.config
Datei vornehmen , sodass Sie die .NET 4-Anforderungsüberprüfung weiterhin überall verwenden können.z.B
quelle
Dies funktioniert ohne Änderung des Validierungsmodus.
Sie müssen einen
System.Web.Helpers.Validation.Unvalidated
Helfer von verwendenSystem.Web.WebPages.dll
. Es wird einUnvalidatedRequestValues
Objekt zurückgegeben, mit dem ohne Validierung auf das Formular und QueryString zugegriffen werden kann.Beispielsweise,
Funktioniert bei mir für MVC3 und .NET 4.
quelle
Beachten Sie, dass ein anderer Ansatz darin besteht, das 4.0-Validierungsverhalten beizubehalten, aber Ihre eigene Klasse zu definieren, die von Folgendem abgeleitet
RequestValidator
und festgelegt wird:(Wo
YourNamespace.YourValidator
ist gut, sollten Sie raten können ...)Auf diese Weise behalten Sie die Vorteile des 4.0-Verhaltens bei (insbesondere, dass die Validierung früher in der Verarbeitung erfolgt) und lassen gleichzeitig die Anforderungen zu, die Sie durchlassen müssen.
quelle