OnclientClick ist ein Client -Skript, das im Allgemeinen für JavaScript verwendet wird, im Client ausgeführt wird, dh und unmittelbar nach dem Klicken auszuführen.
Onclick ist eine serverseitige Ereignisbearbeitungsfunktion, die C# oder VB.NET verwendet, um auf der Serverseite zu ausgeführt, dh IIS. Führen Sie nach dem Klicken auf die Schaltfläche Postback aus und führen Sie sie dann aus.
Wenn Sie OnclientClick zuerst anrufen und keine Onclick -Veranstaltung anrufen möchten, sollten Sie beim OnclientClick -Event false zurückgeben. Wenn Sie nicht falsch zurückkehren, werden Sie nach der Ausführung von OnclientClick weiterhin eine Onclick -Veranstaltung anrufen!
Die Implementierungsmethode lautet wie folgt:
<ASP: Button ID = "btn_save" runat = "server" text = "speichern" cssclass = "button_bak" onclientClick = "return ob thePy ();" Onclick = "btn_save_click"/> // Javascript -Implementierung lautet wie folgt: <script Language = "javaScript" type = "text/javascript"> Funktion, ob TEMPTY () {// alert ("KPI -Informationen können nicht alle leer sein!"); EmptFlag = false; var kpiname; document.getElementById ("<%= txt_kpiname.clientid%>"). Wert; var JobGoal = document.getElementById ("<%= txt_jobgoal.clientid%>"). Wert; var Weight = document.getElementById ("<%= txt_weight.clientid%>. document.getElementById ("<%= txt_standard.clientid%>"). Wert; if (kpIname == "" && jobgoal == "" && wlodh == "" && standard == "") {emptflag = true;} if (empptFlag) {{"kpi -Information (KPI -Informationen," kpi -Informationen nicht ganz leer! ").Wenn onclientClick = "zurückgeben, ob tEMpty ();" Hat keine Rückkehr, auch wenn die Rückgabe falsch in JavaScript, Onclick wird immer noch ausgeführt!
Hier finden Sie eine Beschreibung des Unterschieds zwischen OnclientClick und Onclick
Tatsächlich ist zwischen Client und Server manchmal eine doppelte Überprüfung erforderlich. Warum sagst du das? Biguo sagte, wenn wir die JS -Überprüfung am Kunden übergeben, können wir nur Buchstaben und Zahlen eingeben und keine Sonderzeichen haben! Normalerweise gibt es kein Problem, aber es gibt immer eine Schande, dass Menschen alle Mittel versuchen, "Zerstörung" zu machen, und zu diesem Zeitpunkt ist eine doppelte Überprüfung erforderlich! Um es unverblümt auszudrücken, bedeutet dies, dass sowohl der Server als auch der Client überprüft werden!
Zum Beispiel: Button hat: Onclick -Ereignis und OnclientClick -Attribute, erstere ist im Allgemeinen ein Klickereignis auf dem Server! Letzteres ist ein Klickereignis im Kunden!
Lass uns einen Test machen! Fügen Sie den folgenden Code zur Seite "Standard.aspx" hinzu!
<script Language = "javaScript" type = "text/javaScript"> Funktionsschaltfläche () {alert ("Ich bin das Client -Click -Ereignis"); } </script>Seitencode:
<form id = "Form1" runat = "server"> <div> <ASP: Button id = "button1" runat = "server" text = "Einige Schaltflächen sind Serversteuerungen, und das OnclientClick -Ereignis wird standardmäßig verwendet. Bitte deaktivieren Sie die JS -Funktion des Browsers. /> <ASP: Label ID = "Label1" Runat = "Server" text = ""> </ASP: Label> </div> </form>
CS -Dateicode:
Protected Void Button1_Click (Objektabsender, EventArgs e) {this.label1.text = "Ich bin der Server -Klickereignis";}Jeder fährt es und sieht, was der Effekt ist? Möglicherweise finden Sie, dass nur der Code in JS auftaucht! Das ist richtig, das ist genau der Effekt, den wir wollen. Verwenden Sie Rückgabe falsch, um die Überprüfung des Servers zu "blockieren"! Was sind die Vorteile? Sie müssen die Seite einfach nicht aktualisieren!