URGENTE!! Desencadenar evento desde textbox

12/03/2008 - 00:36 por Lu´pita | Informe spam
Hola!

Espero esten bien y alguien pueda ayudarme.

Lo que quiero hacer es lo siguiente:

Tengo 2 cajas de texto, en la primera escribo "45" y cuando posicioné el
cursor en la caja de texto 2 quiero que se guarde en la base de datos lo que
se escribio en la caja de texto 1.

Espero haberme explicado correctamente.

Gracias y Saludos...

Preguntas similare

Leer las respuestas

#6 Jesús López
12/03/2008 - 14:46 | Informe spam
Lo que yo no entiendo es la necesidad de hacer un Postback con el
consiguiente reprocesado y repindado de la página para una cosa que se
podría hacer perfectamente en el navegador con un poco de JavaScript como es
el cálculo de un porcentaje.

El cliente también tiene capacidad de procesamiento y hay que aprovecharla
cuando tiene sentido.

Saludos:

Jesús López
www.solidq.com



"LunNna" escribió en el mensaje
news:
Hola,

Yo tengo una pagina en la cual el usuario escribe el un textbox un numero
que representa un porcentaje, y cuando sale del textbox automaticamente se
escribe en otro textbox el valor correspondiente a ese porcentaje.

El textbox donde va el porcentaje tiene la propiedad AutoPostBack en true,
y
capturo el evento:

protected void txtPorcentaje_TextChanged(object sender, EventArgs e) {
//calculo del valor
}

no veo por qué no puedes usar esto y en lugar de calcular el valor llamas
a
la rutina que guarda en la base de datos, o es que no entendi bien lo que
quieres hacer.

Espero te sirva.

Un saludo.

"Alberto Poblacion" wrote:

"Lu´pita" wrote in message
news:
> Al entrar a la ventana de eventos del textbox no aparece el evento
> leave,
> pudiera ser por que estoy utilizando un webform?

Eso es más complicado. Como quieres grabar datos al abandonar el
campo,
y la grabación de datos tendrás que hacerla en el servidor, necesitas que
el
PC en el que se está visualizando la pantalla la transmita al servidor
cuando abandones el campo. Por lo tanto, es el navegador el que tiene que
interceptar ese evento y realizar la acción correspondiente. Y el
navegador
no se puede programar con C#; tendrás que usar javascript.

En la parte cliente, puedes usar el evento OnBlur del textbox para
disparar una rutina en javascript que haga un postaback de la página. Y
el
código necesario para hacer el postback lo puedes obtener en el lado
servidor con Page.ClientScript.GetPostBackEventReference (y tendrás que
inyectarlo dentro de la página aspx antes de enviarla al navegador). Al
hacer el postback, se recargará la página, con lo que te convendrá usar
Ajax
y meter el código en un UpdatePanel para que no resulte un efecto
desagradable. También se te perderá el foco, con lo que convendrá que
hagas
un SetFocus en la rutina de tratamiento del evento para colocarlo en la
caja
de texto 2.
Puestos a usar Ajax, hay una alternativa más eficiente, que consiste
en
hacer una retrollamada de red en el evento OnBlur del textbox1 que llame
a
un servicio web (bien sea un .asmx o un método estático en la misma
página)
que realice la grabación del dato. Esto te evita hacer la recarga de
página
y llevar el control del foco.

En cualquiera de los casos, como ves, las cosas se complican
considerablemente. Esta operación que quieres hacer, que sería trivial en
un
WinForm (como ya te han indicado en otro mensaje) se vuelve terriblemente
compleja por el hecho de ser un WebForm, ya que los webforms no están
diseñados para funcionar de esta forma.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida