C sharp - Variable public

   
Vista:

Variable public

Publicado por Juan Carlos (1 intervención) el 25/06/2010 15:49:02
Hola que tal.
Tengo una duda.

Tengo una pagina aspx con dos botones y en el cede behind tengo lo siguiente.

public partial class variables : System.Web.UI.UserControl
{
public string tt;

public void tempo()
{
tt = "prueba";
}

protected void Page_Load(object sender, EventArgs e)
{
// Button1.Click += delegate { tempo(); };

}
protected void Button1_Click(object sender, EventArgs e)
{
tempo();
}
protected void Button2_Click(object sender, EventArgs e)
{
tt += "cambio";
}
}

Al dar click en el boton 1, simplemente ejecuto el metodo "tempo" que asigna la palabra "prueba" a la variable tt.

Luego si doy clik al boton 2, me doy cuenta, debugueando, que el valor de la variable tt= null;

A que se debe esto?
Como en que funcionan las variable public.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Variable public

Publicado por roger (160 intervenciones) el 25/06/2010 17:04:14
se debe a que es una pagina web, funciona bajo http, que es un protocolo sin estado, es decir, cuando ejecutas por primera vez la pagina, asignas la variable y la pagina se descarga en el cliente. Si das click a un boton nuevamente se envia una peticion (request) al servidor, y las variables que tienes definidas tendran su estado por defecto (en tu caso null), no tendrán el valor que le asignaste en una peticion anterior. lo que tendrias que hacer es asignar este valor a un control, por ejemplo a un textbox, que si te mantendrá el valor entre las peticiones, debido a que asp.net por defecto utiliza unas tecnicas para conservar estos valores entre las distintas peticiones al servidor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar