Preguntado hace 1 año
JuanP
Buenas, el escenario es un buscador para una página web en asp.net, quiero que refresque el updatepanel según el usuario va pulsando teclas, pero el evento textchanged sólo salta cuando el control pierde el foco, entonces ¿no es este el evento que necesito? ¿es otro? ¿se configura de alguna manera especial?
Hace 1 año
Gabriel Molina
Hola, Juanp, es más o menos como te cuenta @Christian. No hay soporte de ese evento en asp.net de modo que te lo tienes que hacer tú. Se trata de capturar el evento KeyUp y llamar a la función __doPostBack(eventTarget, eventArgument). El primer argumento es el identificador del control y el segundo los argumentos (lo puedes pasar como ''). Esto provoca el postback. Falta capturar el evento en el servidor. Tendrías que poner esto en tu caja de texto:
OnTextChanged="txtCajaTexto_TextChanged" AutoPostBack="true"
Y dentro del TextChanged ya lo que quieras. :)
Saludos.
Juan Quijano
Buenas, Tienes varias formas.
<'asp:TextBox ID="TextBox1" runat="server" onkeypress="return funcion(event)"></asp:TextBox>
<'TextBox1.Attributes.Add("onkeypress", "return funcion(event)",'_blank' )");
Ambas dos requieren que la funcion javascript esté escrita en la página o en una libreria referenciada en la página.
Podrias investigar en utilizar algún plugin de JQuery, pero hasta allí no llego.
El uso de __doPostBack, a mí me ha dado problemas de duplicidad: Entrada en mi blog
Christian Córdoba
yo creo que el que te interesa a ti es el keyup más que el textchanged, el keyup se genera después de cada pulsación
Si sales ahora, perderás los cambios. ¿Estás seguro de querer salir?
Para participar en Babelias, debes estar convenientemente validado. Si ya eres usuario inicia sesión, si no lo eres, te puedes registrar.
Trata de ser descriptivo, usa al menos 25 caracteres
LLeva tu prestigio a tu página o blog, con el widget de Babelias
Usuario de ejemplo