• Sábado 21 de Diciembre de 2024, 11:24

Autor Tema:  Uso de variables globales  (Leído 1856 veces)

vicpin_mm

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Uso de variables globales
« en: Martes 13 de Julio de 2010, 19:57 »
0
Hola, soy relativamente nuevo en asp.net, y necesito ayuda.
No entiendo por que no puedo hacer lo siguiente:

Tengo dos botones, uno "cambiar" que pone valor a 3, y otro comprobar, que carga en un label el contenido de valor:

public partial class _Default : System.Web.UI.Page
{
    int valor;

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void cambiar_Click(object sender, EventArgs e)
    {
        valor = 3;
    }
    protected void comprobar_Click(object sender, EventArgs e)
    {
        Label1.Text = valor.ToString();
    }
}

Pues bien, si pulso  "cambiar" y despues "comprobar", el valor es 0. ¿Que es lo que pasa?

Newtek

  • Miembro activo
  • **
  • Mensajes: 81
  • Nacionalidad: cr
    • Ver Perfil
    • http://www.newtekwebhosting.com.com?id=000231
Re: Uso de variables globales
« Respuesta #1 en: Lunes 19 de Julio de 2010, 16:37 »
0
Vi esto el Viernes y pense que alguien te contestaria durante el fin de semana... bueno...

La cosa es asi... La clase esta corriendo en el servidor y cuando haces click en el boton.. el form que corre en el cliente esta manda la informacion a la clase... esta almacela el valor en el Int que creastes ...que por cierto no es la mejor forma de hacerlo ya que deberias de crearlo como propiedad pero en fin para efectos de ejemplo eso esta bien.

La clase lo guarda y lo almacena. Ahora bien cuando precionas el otro boton la informacion del ciente viaja a la clase... y aqui esta el punto... que es lo que pasa?... bueno basicamente el Framework vuelve a crear la clase y a inicializar los valores de la misma... dentro del servidor. por eso es que se "pierde" el valor que le asignastes inicialmente al int.

Esta es la forma en que funciona el Framework. Cada vez que un evento corre en el Cliente la informacion viaja al servidor y es creada en el servidor de nuevo. Hay metodos para evitar eso como el postback y almacenar  el valor de la propiedad en una variable de secion.

Bueno esas son cosas basicas que hay que tener en consideracion a la hora de crear formularios y trabajar con codigo cliente-servidor.

Saludos si ocupas mas informacion yo con mucho gusto.


Newtek
Web Hosting, Design, Development & SEO at Newtek Web Hosting

vicpin_mm

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Uso de variables globales
« Respuesta #2 en: Lunes 19 de Julio de 2010, 16:55 »
0
Okey, gracias por tu respuesta.