¿Cómo presionar doble clic en un control Button de ASP NET?

ASP.NET WinForm es una solución que presenta windows para el desarrollo web, sin bien es cierto se ha convertido en uno de los lenguajes de programación web mas populares, existen algunas acciones o procesos que no vienen por defecto y que nosotros tenemos que programar; por ejemplo, el evento doble clic de un boton no es algo nativo de ASP NET

Existen diferentes formas de logar esto, pero aca les voy a mostar una forma comoda y sencilla que no necesita de mucho codigo ni tampoco demasiado conocimiento para poder lograr.

La idea de este ejemplo es colocar dos botones.

El primero sera un boton asp que tendra programado un evento clic que llamara o ejectura un proceso cualquiera. A este control se le agregara el atributo CssClass=”hide” el cual hace referencia a una clase css que crearemos luego y lo que hara sera ocultar visualmente el boton.

El segundo boton sera un input meramente html que no provocara ningun tipo de evento en el lado del servidor pero si sera visto por el usuario y tendra programado el evento cliente ondblclick.

Como funciona? En verdad es muy simple, como se menciona el input html tiene programado un evento cliente ondblclick el cual llamara a una funcion javascript que se disparara unicamente cuando el visitante presione dos veces dicho boton, esta funcion javascrit lo que hara es emular el clic hacia el otro boton asp el cual llamara a un evento que si se ejecute en el lado del servidor, generando asi el postback.

Veamos ahora el codigo por partes:

Estilo CSS

.hide { display:none; }

Código Javascript

Una función javascript sumamente sencilla que hace referencia a nuestro boton ASP.NET.

function enviar()
{ 
var btn = document.getElementById("<%=btnEnviar.ClientID%>");
btn.click();
}

Código HTML

Como se menciono antes, se colocan dos botones. El primero un boton HTML que sera visible y que tiene un evendo cliente doble clic que dispara una funcion javascript que cliqueara al segundo boton el cual es un control buttom ASP que estara oculto y que generara el evento en el servidor.

<form id="form1">
<input id="btnEnviarCliente" type="button" value="Enviar">
</form>

Codigo del lado del servidor

Private Sub btnEnviar_Click(sender As Object, e As EventArgs) Handles btnEnviar.Click
Response.Write("El evento se disparo en el servidor despues de un doble clic en el cliente.")
End Sub

Espero les sea de utilidad coloco un link para que descarguen el ejemplo. Cualquier consulta pueden dejarla en la caja de comentarios.

El ejemplo ha sido creado en Visual Studio 2013 con framework 4.5 pero si adjuntan solo el formulario deberia correr bien en cualquier visual studio.

Descargar Ejemplo

Suscribir
Notificar a
guest
0 Comentarios
Comentarios en línea
Ver todos los comentarios