Foros del Web » Programando para Internet » ASPX (.net) »

Problema al tomar datos de un <asp:Texbox>

Estas en el tema de Problema al tomar datos de un <asp:Texbox> en el foro de ASPX (.net) en Foros del Web. Hola, Tengo el siguiente (extraño) problema. Resulta que tengo un formulario con varios campos de tipo <asp:TexBox>, los cuales en el evento load de la ...
  #1 (permalink)  
Antiguo 04/08/2009, 21:46
 
Fecha de Ingreso: mayo-2002
Ubicación: Punta del Este
Mensajes: 32
Antigüedad: 22 años
Puntos: 0
Problema al tomar datos de un <asp:Texbox>

Hola,
Tengo el siguiente (extraño) problema.
Resulta que tengo un formulario con varios campos de tipo <asp:TexBox>, los cuales en el evento load de la página son rellenados con datos de una base de datos. En el formulario hay un botón (<asp:Button>) Guardar, que guarda en la base de datos los cambios que se hayan hecho en los valores del formulario.
El problema que tengo es que en el evento click del botón, cuando tomo los valores de los campos del formulario me devuelve los datos viejos (o sea, los que traje de la base de datos en el evento load). Esto no me sucede si en el evento load no cargo ningún campo, pero esa no es la solución que estoy buscando.
Por lo tanto, lo que intento es tomar los datos del formulario modificados (y los que no lo fueron), y no que me devuelva todo como si nada hubiera pasado.
Dejo un ejemplo del código que tengo
Código:
protected void Page_Load(object sender, EventArgs e)
{
    textBlock1.Text = valor1;
    textBlock2.Text = valor2; 
    textBlock3.Text = valor3
}

private void btnGuardar_Click(object sender, EventArgs e)
{
    baseDatos.guardar(textBlock1.Text, textBlock2.Text, textBlock3.Text);
    //los valores de los 3 campos son iguales a los que cargué en el método             
    //Page_Load, aún si fueron modificados por el usuario en la página.
}
  #2 (permalink)  
Antiguo 05/08/2009, 02:15
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 4 meses
Puntos: 31
Respuesta: Problema al tomar datos de un <asp:Texbox>

Creo que eso te pasa porque cuando vas a guardar los datos del textbox te carga el Page_Load antes que el btnGuardar_Click, te hace falta el postback, prueba con esto:

Código:
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
    textBlock1.Text = valor1;
    textBlock2.Text = valor2; 
    textBlock3.Text = valor3;
   }
}

private void btnGuardar_Click(object sender, EventArgs e)
{
    baseDatos.guardar(textBlock1.Text, textBlock2.Text, textBlock3.Text);
    //los valores de los 3 campos son iguales a los que cargué en el método             
    //Page_Load, aún si fueron modificados por el usuario en la página.
}
Saludos
__________________
La nueva red social de quinielas quiniela resultados
Cazaresultados Futbol base en directo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:41.