Ich habe folgenden Code in einem Button-Klick-Handler. Beide Ansätze funktionieren gut. Das Page_ClientValidate()
verursacht eine zusätzliche Validierungsprüfung und führt die Verarbeitung durch, während Page_IsValid
die vorhandene Eigenschaft verwendet.
FRAGEN
Page_IsValid
zu diesem Zeitpunkt berechnet wurde? Wenn dies nicht garantiert ist, müssen wir Page_ClientValidate()
explizit aufrufen. Page_IsValid
gesetzt wird? Für solche Ereignisse sollten wir uns nicht auf Page_IsValid
verlassen.
AKTUALISIEREN
Ist sichergestellt, dass der Button-Click-Ereignishandler (in JavaScript) erst aufgerufen wird, nachdem der Validierungsteil abgeschlossen wurde (d. h. nachdem PageClientValidate () als Teil der Validierung aufgerufen wurde)? Wenn dies gewährleistet ist, kann ich mich auf Page_IsValid verlassen?
SCRIPT
%Vor%REFERENZEN :
Bei einem Klick auf die Schaltfläche wird Page_ClientValidate()
aufgerufen, wenn (und nur wenn) der CausesValidation
der Schaltfläche auf true
gesetzt ist.
Page_ClientValidate()
ist ein Teil des Postback-Prozesses, also wird es mit einem Klick der Schaltfläche aufgerufen.
Ich verlasse mich auf Page_IsValid
nur im Rahmen einer Funktion nach Aufruf von Page_ClientValidate()
. Ansonsten rufe ich immer Page_ClientValidate()
auf.
Kommentar: Durch wiederholtes Aufrufen von Page_ClientValidate()
kann die Seite zu aufdringlich werden (mehrere Warnungen usw.). Deshalb ist es gut, eine benutzerdefinierte Validierungsfunktion zu haben, die sich um alle Validierungen kümmert.
Tags und Links asp.net