OnClientClick est un script client, qui est généralement utilisé pour utiliser JavaScript, exécuté dans le client, c'est-à-dire, c'est-à-dire, et exécuter immédiatement après le clic.
OnClick est une fonction de gestion des événements côté serveur, qui utilise C # ou VB.NET pour s'exécuter du côté du serveur, c'est-à-dire IIS. Après avoir cliqué sur le bouton, exécutez le post-dos, puis exécutez-le.
Si vous souhaitez d'abord appeler OnClientClick et n'appelez pas l'événement OnClick, vous devez retourner False dans l'événement OnClientClick. Si vous ne retournez pas faux, après avoir exécuté OnClientClick, vous continuerez à appeler un événement OnClick!
La méthode d'implémentation est la suivante:
<asp: bouton id = "btn_save" runat = "server" text = "enregistrer" cssclass = "Button_bak" onClientClick = "return simpty ();" OnClick = "btn_save_click" /> // L'implémentation javascript est la suivante: <script linguisse = "javascript" type = "text / javascrip Document.getElementById ("<% = txt_kpiname.clientid%>"). Value; var jobgoal = document.getElementById ("<% = txt_jobgoal.clientid%>"). Value; var Weight = Document.getElementById ("<% = txt_onight.clientid%>"). Document.getElementById ("<% = txt_standard.clientid%>"). valeur; if (kpiname == "" && jobgoal == "" && poids == "" && standard == "") {emptflag = true;} if (Empptflag) {alert ("kpi information ne peut pas être vide!"); return false;}}Si onClientClick = "return siEmpty ();" N'a pas de retour, même si return false en javascript, onClick s'exécutera toujours!
Voici une description de la différence entre OnClientClick et OnClick
En fait, parfois une double vérification est requise entre le client et le serveur. Pourquoi le dites-vous? Biguo a déclaré que lorsque nous transmettons la vérification JS sur le client, nous ne pouvons entrer que des lettres et des chiffres, et nous ne pouvons pas avoir de caractères spéciaux! Habituellement, il n'y a pas de problème, mais il y a toujours une honte que les gens essaient tous les moyens de «faire de la destruction», et pour le moment, une double vérification est nécessaire! Pour le dire franchement, cela signifie que le serveur et le client sont vérifiés!
Par exemple: Button a: Événement OnClick et Attributs OnClientClick, le premier est généralement un événement de clic sur le serveur! Ce dernier est un événement de clic sur le client!
Faisons un test! Ajoutez le code suivant à la page default.aspx!
<script lingots = "javascript" type = "text / javascript"> function boutonclick () {alert ("je suis le client click event"); return false; } </ script>Code de page:
<form id = "form1" runat = "server"> <div> <asp: Button id = "Button1" runat = "server" text = "Certains boutons sont des contrôles de serveur, et l'événement OnClientClick est utilisé par défaut. /> <asp: label id = "label1" runat = "server" text = ""> </ asp: label> </div> </ form>
Code de fichier CS:
Button void protégé1_click (expéditeur d'objet, EventArgs e) {this.label1.text = "Je suis l'événement de clic du serveur";}Tout le monde l'exécute et voir quel est l'effet? Vous pouvez constater que seul le code en JS apparaît! C'est vrai, c'est exactement l'effet que nous voulons. Utilisez return false à "bloquer" la vérification du serveur! Quels sont les avantages? Vous n'avez tout simplement pas besoin de rafraîchir la page!