Visual CSharp .NET - Variables en clases

 
Vista:

Variables en clases

Publicado por Juan Ramón López (5 intervenciones) el 29/12/2011 10:34:31
Buenas a todos el mundo, tengo una duda, que aunque la he resulteo de otra forma estoy interesado en hacerlo de esta forma.

Tengo una clase en visual studio 2010 escrita en c# y quiero crear una variable en la clase, añadirle un valor en una función y recuperarlo en otra.

Ejemplo:

namespace proteccion_datos
{
public partial class EmpresaExterna : System.Web.UI.Page
{
string nombreantiguo="";

protected void funcion1()//Evento boton 1
{
//Asigno un valor a la variable
nombreantiguo=valor;
}
protected void funcion2()//Evento boton 2
{
//uso de la variable
textbox=nombreantiguo;
}

}
}

Bien pues al hacer esto, no se porque en lafuncion 2 la variable vuelve a estar vacia, recupera el valor que le asigno al declararla. Las funciones se "disparan" con eventos de dos botones respectivamente, asi que por lo que supongo se le asigna de nuevo el valor que le asigno al declararla. Lo he solucionado con un textbox oculto pero quería saber si hay otra forma de hacerlo.
Gracias de antemano y un saludo.
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

Variables en clases

Publicado por roger (77 intervenciones) el 29/12/2011 13:25:05
Asi como el textbox oculto puedes usar un hiddenField en la pagina, o puedes usar el ViewState

Viewstate["nombreantiguo"] =valor;

y luego
textbox = Viewstate["nombreantiguo"].ToString();

La cuestion es que estas trabajando en Web, lo cual se hace a traves de Http que es un protocolo sin Estado, es decir, no se conservan valores entre las peticiones que se hacen al servidor. El servidor solo procesa la informacion y devuelve un HTML resultante por lo cual las variables que tienes definidas en la pagina solo estan activas en el momento de la peticion y su valor se inicializa nuevamente al procesar otra peticion
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