Evento de fuego al presionar la tecla Intro para un cuadro de texto

Tengo el siguiente control de cuadro de texto asp.net.

 

Después de que el usuario escribe algo en este cuadro de texto y presiona la tecla ENTRAR , quiero ejecutar algún código del código subyacente.

¿Que debería hacer?

Usando jQuery capturé la tecla ENTER y activé un botón oculto

 $(document).ready(function(){ $(window).keydown(function(e){ if(e.keyCode == 13) $('#'.click(); }); }); 

Hay alguna forma mejor ?

ASPX:

   

JS:

 function EnterEvent(e) { if (e.keyCode == 13) { __doPostBack('<%=Button1.UniqueID%>', ""); } } 

CS:

 protected void Button1_Click1(object sender, EventArgs e) { } 
  1. Ajustar el cuadro de texto dentro de asp:Panel Etiquetas de asp:Panel

  2. Oculte un botón que tiene un evento de clic que hace lo que desea hacer y otorgue al un atributo DefaultButton con el ID del botón oculto.

     

Puede ajustar el cuadro de texto y el botón en un ASP: Panel y establecer la propiedad DefaultButton del Panel en el Id de su botón Enviar.

     

Ahora, siempre que el foco esté dentro del Panel, el evento ‘SubmitButton_Click’ se activará cuando se presione enter.

La respuesta de ahaliav fox es correcta, sin embargo, hay un pequeño problema de encoding.
Cambio

 <%=Button1.UniqueId%> 

a

 <%=Button1.UniqueID%> 

es sensible a mayúsculas y minúsculas Propiedad Control.UniqueID

El error 14 ‘System.Web.UI.WebControls.Button’ no contiene una definición para ‘UniqueId’ y no se pudo encontrar ningún método de extensión ‘UniqueId’ que aceptara un primer argumento de tipo ‘System.Web.UI.WebControls.Button’ ( ¿Echas de menos una directiva de uso o una referencia de ensamblaje?)

Nb TextChanged evento TextChanged en AutoPostBack antes de buscar la respuesta, y aunque es casi correcta, no da el resultado deseado ni la pregunta formulada. Dispara al perder el foco en el Textbox y no al presionar la tecla de retorno.

mi solución jQuery powered está abajo 🙂

Elemento de texto:

   

Javascript detrás

  
      

 protected void txt_TextChanged(object sender, EventArgs e) { //enter code here } 

Intenta seguir: Aspx:

   

JS:

 function EnterEvent(e, callback) { if (e.keyCode == 13) { callback(); } } 

Prueba esta opción

actualice esa parte de encoding en el evento Page_Load antes de capturar IsPostback

  TextBox1.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('ctl00_ContentPlaceHolder1_Button1').click();return false;}} else {return true}; "); 
  

y js:

  

Mi 2c .. He usado javascript, pero encontré que hizo cosas que no eran del todo esperadas.

USE el atributo / propiedad DefaultButton del panel como lo sugieren muchas de las publicaciones anteriores. Es confiable (FÁCIL) y funciona en todos los buscadores en los que lo he probado.