Gibt an, ob Page_IsValid oder PageClientValidate () (für clientseitige Ereignisse) verwendet werden soll.

8

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

  1. Ist bei einem Klick immer garantiert, dass Page_IsValid zu diesem Zeitpunkt berechnet wurde? Wenn dies nicht garantiert ist, müssen wir Page_ClientValidate() explizit aufrufen.
  2. Was sind die Ereignisse, die eintreten, bevor 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 :

  1. Redundante Fehlermeldung in ASP.Net ValidationSummary ausblenden
  2. Validator führt zu falschem Verhalten bei Doppelklickprüfung
  3. Page_ClientValidate ist nicht definiert
  4. Page_ClientValidate wird mehrmals validiert.
  5. MSDN - Validierung von ASP.NET
Lijo 12.12.2012, 04:31
quelle

1 Antwort

4
  1. Bei einem Klick auf die Schaltfläche wird Page_ClientValidate() aufgerufen, wenn (und nur wenn) der CausesValidation der Schaltfläche auf true gesetzt ist.

  2. 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.

    
Peter Ivan 12.12.2012 06:39
quelle

Tags und Links