¿Cómo ejecutar un evento al presionar enter en un textbox en asp net?

Más de una vez hemos tenido la necesidad de presionar la tecla ENTER dentro de un control TEXTBOX y nos damos cuenta que dicho evento no es capturado en el lado del servidor; esto nos lleva a crear una función con JAVASCRIPT que permita capturar dicho evento y mandar a presionar un botón que tenemos oculto lo que da la ilusión de hacer dicha acción.

Pero para realizar nuestro objetivo podemos hacerlo sin mucho esfuerzo sin hacer uso de JAVASCRIPT y es utilizando el control PANEL.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<asp:Panel ID="Panel1" runat="server" DefaultButton="btnEnviar">
 
    <asp:TextBox ID="txtPagos" runat="server" > </asp:TextBox>
 
    <asp:ImageButton 
            ID="btnEnviar" 
            runat="server" 
            ImageUrl="~/Img/btn/okay.png"  
            Width="16px" 
            CommandName="Select" 
            ToolTip="Seleccionar" 
            style="display:none;">
        </asp:ImageButton>
 
</asp:Panel>

El truco está en el control PANEL y en su propiedad DEFAULTBUTTON la cual nos permite designar un BUTTON, IMAGEBUTTON o cualquier control ASP.NET que emule un INPUT y que envié información al lado del servidor. Con esto mientras estemos dentro del PANEL y presionamos la tecla ENTER se disparara el evento clic del botón designado como default haciendo el efecto deseado en el control TEXTBOX.

Es muy importante que agreguemos el atributo CSS DISPLAY:NONE para ocultar el botón que usaremos para generar el evento.

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

OK, lo tendremos en cuenta.

Francisco MurilloV

excelente muchas gracias att fjmurillov

Joseph Insil

lo maximo justo lo que necesitaba.

Victoria Galeno

Eres genial! He estado buscando desde hace un tiempo como realizar esa acción! TwT Gracias! De Verdad!

Jose

Muchas gracias

Carlos Rivadeneira

Muy buen aporte, gracias.

Hormix

Maestro! Grande! me solucionaste un problema en solo 2 minutos!

Carlos Perugachi

Excelente solución, me salvó de un terrible dolor de cabeza.

Anyami Cornieles

Excelente aporte, me sirvió a la perfección y me ahorraste un montón de tiempo.

José Maradiaga

Excelente aporte, gracias

Maicol

Muy buen aporte

Pablo

Se que el aporte es antiguo, de igual manera quiero dejar mi agradecimiento porque la solución entregada es demasiado practica, he estado buscando en varios lugares el como hacer esto y todos presentan soluciones por medio de JS, pero requiere mas código y mayor complejidad para quienes llevamos poco tiempo en esto.
En la programación siempre se busca ahorrar código y tu solución cumple con esto a la perfección.
Saludos!!
Tu solución