OnClientClick es un script del cliente, que generalmente se usa para usar JavaScript, ejecutar en el cliente, es decir, es decir, y ejecutar inmediatamente después de hacer clic.
OnClick es una función de manejo de eventos del lado del servidor, que usa C# o VB.NET para ejecutarse en el lado del servidor, es decir, IIS. Después de hacer clic en el botón, ejecute posterior y luego ejecutarlo.
Si desea llamar a OnClientClick primero y no llamar al evento OnClick, debe devolver falso en el evento OnClientClick. Si no devuelve falso, después de ejecutar OnClientClick, ¡continuará llamando al evento OnClick!
El método de implementación es el siguiente:
<ASP: Button ID = "BTN_SAVE" Runat = "Server" Text = "Save" CSSClass = "Button_bak" onClientClick = "returnfuEmty ();" OnClick = "btn_save_click"/> // La implementación de JavaScript es la siguiente: <script language = "javascript" type = "text/javaScript"> function siStimty () {// alerta ("La información de KPI no puede estar todas vacía!"); Vacía = falso; var kpiname = = document.getElementById ("<%= txt_kpiname.clientid%>"). valor; var jobGoal = document.getElementById ("<%= txt_jobgoal.clientid%>"). valor; var weight = document.getElementById ("<%= txt_weight.CliantId%>"). Value; Var Standard = document.getElementById ("<%= txt_standard.clientid%>"). valor; if (kpiname == "" "&& jobGoal ==" "&& weight ==" "&& Standard ==" ") {showFlag = true;} if (vactflag) {alerta (" La información de KPI no puede estar todos vacío!If onClientClick = "return siEmpty ();" ¡No tiene devolución, incluso si return False en JavaScript, OnClick aún se ejecutará!
Aquí hay una descripción de la diferencia entre OnClientClick y OnClick
De hecho, a veces se requiere una verificación dual entre el cliente y el servidor. ¿Por qué lo dices? Biguo dijo que cuando pasamos la verificación JS en el cliente, solo podemos ingresar letras y números, ¡y no podemos tener caracteres especiales! Por lo general, no hay problema, pero siempre hay una pena que las personas prueben todos los medios para "destruir", y en este momento, se necesita doble verificación. Para decirlo sin rodeos, ¡significa que tanto el servidor como el cliente están marcados!
Por ejemplo: el botón tiene: Evento OnClick y atributos OnClientClick, ¡el primero es generalmente un evento de clic en el servidor! ¡Este último es un evento de clic en el cliente!
¡Hagamos una prueba! Agregue el siguiente código a la página predeterminada.aspx!
<script language = "javascript" type = "text/javaScript"> función buttonClick () {alert ("Soy el cliente Cliente Evento"); return false; } </script>Código de página:
<form de formato = "form1" runat = "servidor"> <div> <asp: button id = "button1" runat = "servidor" text = "Algunos botones son controles del servidor, y el evento OnClientClick se usa de forma predeterminada. Por favor, deshabilite la experiencia de función JS del navegador" Onlick = "Button1_Click" OnClientClick = "Return Button Button CLICE /> <asp: etiqueta id = "etiqueta1" runat = "server" text = ""> </asp: etiqueta> </div> </orm>
Código de archivo CS:
botón void protegido1_Click (remitente de objeto, eventArgs e) {this.label1.text = "Soy el evento de clic del servidor";}¿Todos lo ejecutan y ven cuál es el efecto? ¡Puede encontrar que solo aparece el código en JS! Así es, este es exactamente el efecto que queremos. ¡Use el retorno falso a "bloquear" la verificación del servidor! ¿Cuáles son los beneficios? ¡Simplemente no necesitas actualizar la página!