2 Stimmen

Wie kann ich eine Javascript-Funktion aufrufen, wenn eine ASP.net-Validierungszusammenfassung gefüllt ist?

Ich habe eine validationSummary in meiner Seite. Ich möchte eine Javascript-Funktion aufrufen, nachdem die validationSummary gefüllt ist. wie kann ich dies erreichen?

Ich denke, ich sollte ein Attribut in den Code dahinter hinzufügen, aber ich kann nicht herausfinden, was der Schlüssel des Attributs ist.

jede Hilfe?

4voto

EverettEvola Punkte 51

Sie wollen die Javascript-Funktion aufrufen Page_ClientValidate() um die ASP.NET-Validierung zu initiieren, die mit Ihren Seitensteuerelementen verdrahtet ist. Sobald dies aufgerufen wird, wird die Page_IsValid wird der boolesche Wert richtig gesetzt.

Hier ist ein Beispiel dafür, wie ich es verwende. Wenn die ASP.NET-Validierung erfolgreich ist, deaktiviere ich die Schaltfläche, andernfalls bleibt die Schaltfläche aktiviert und die Validierungszusammenfassung wird dem Benutzer angezeigt. Die OnClientClick ist von einem ASP:Button-Steuerelement.

OnClientClick="javascript:Page_ClientValidate(); if (Page_IsValid==true) { this.disabled=true; }"

0voto

ErikHeemskerk Punkte 1546

Ich glaube nicht, dass das möglich ist. Es ist jedoch möglich, die Validierung abzufangen, indem man OnClientClick auf den Steuerelementen, die Postbacks durchführen. Dann können Sie die globale JavaScript-Variable Page_IsValid für das Validierungsergebnis.

Eine Sache, die man beachten sollte, ist, dass, wenn es keine Validatoren auf einer Seite gibt, Page_IsValid undefiniert sein wird.

0voto

MoMo Punkte 8119

Ich habe begonnen, die Lösung von @EverettEvola zu implementieren, aber auch dort, wo die Validierungslogik mehrfach aufgerufen wurde und mehrere ValidationSummary-Popups angezeigt wurden. Meine Lösung war wie folgt:

Auf der Schaltfläche (in meinem Fall war die Schaltfläche eine Absenden-Schaltfläche)

OnClientClick="return CustomValidationOnClick()"

Und die Funktion CustomValidationOnClick()

function CustomValidationOnClick(source, args) {

    //Manually kickoff page validation
    //This call will display the Validation summary popup if page is invalid
    Page_ClientValidate();

    //Page_IsValid set by the result of the Page_ClientValidate() call
    if (Page_IsValid == true) {
        this.disabled=true;
        return true; //if Submit button return true to continue form submit
    }
    else {
       //do whatever here
       return false; //if Submit button return false to cancel form submit
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X