ASP.NET Range Validator zur nächsten Seite verschieben
-
05-07-2019 - |
Frage
Ich habe einen Range -Validator in eine ASP.NET -Textfeldsteuerung in meine Webseite eingebracht. Wann immer sich der Bereich nicht trifft; Es wird die Fehlermeldung verstrichen,
Aber es geht zur nächsten Seite. Wie kann ich verhindern, dass es nach dem Klicken auf die Schaltfläche Klicken auf die nächste Seite wechselt, während der Bereich nicht erfüllt ist?
Lösung
Stellen Sie sicher
ValidationGroup
Als Reichweite Validator. Dies gilt insbesondere dann, wenn Sie mehr als einen habenValidationGroup
definiert.Stellen Sie sicher, dass die Immobilie
CausesValidation
ist auf der Taste nicht auf false eingestellt. Der Standardwert istTrue
Wenn die Eigenschaft also nicht in Ihrem ASPX oder Code dahinter deklariert ist, sollte die Schaltfläche Ihre Validierungssequenz abfeuern.Wenn Sie den normalen Seitenfluss nicht verwenden (dh Ihre Schaltfläche hat die Eigenschaft
UseSubmitBehvior
einstellenFalse
, oder in einigen Fällen, wenn Sie ASYCH AJAX -Rückrufe verwenden), möchten Sie Ihre Seite ändern, die den Code in einem ändernIf
blockieren, was überprüft werdenPage.IsValid
Vor dem Schießen.Überprüfen Sie, ob die
ControlToValidate
wird auf die richtige Steuerung eingestellt und hat keinen Standardwert, der die Validierung übergibt.
Andere Tipps
Code?
Senden Sie direkt an die nächste Seite, anstatt auf dieselbe Seite zu posten und umzuleiten?
Umleiten Sie in page_load, welche tritt ein Vor Validierung?