Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/04/2005, 09:10
Rodolfo Israel
Invitado
 
Mensajes: n/a
Puntos:
Jeje, creo que esto nos paso alguna vez a todos

Hola amigo, a diferencia de cuando trabajas en Windows Forms, en ASP.NET cada vez que la pagina se recarga (cuando das un click a algun boton asp.net) pierdes el valor de todas las variables que hayas declarado o inicializado, por lo que cada vez que se recargue la página tienes que reasignarle los valores, esto es en el evento page_load, ¿y como puedo hacer para mantener intacto el valor de mis variables? pues bueno, una opcion es almacenar tus variables en el Objeto Session de la siguiente manera:

Código:
.. Page_Load ...
{

   if (!Page.IsPostBack) 
   { //Esto ocurre solo la primera vez que se carga tu página
	   //Inicializas tus variables y las almacenas en el Session
	   pL = new ProgramacionLineal.ServicePL();
	   cM = new CapaIntermedia.ComunicacionConModulos();
	   Page.Session("Variable_PL") = pL;
	   Page.Session("Variable_cM") = cM;
   }
   else
   { //Si no es la primera vez que se recarga la página ( Esto puede suseder cuando el servidor responde a un click del boton por ejemplo
	   //obtienes el valor de tus variables desde el Session
	   pL = Page.Session("Variable_PL") ;
 	   cM = Page.Session("Variable_cM");
   }


}
De esta manera el valor de tus variables se mantiene intacto entre diferentes recargas de la página, por lo que cada vez que necesites manipular tus variables vas a tener que traerlas primero del Session ( Mi_Variable = Page.Session("Nombre_Alamacenamiento") y una vez que hayas manipulado su valor guardarlo de nuevo en el sesion ( Page.Session("Nombre_Alamacenamiento") = Mi_Variable), algo asi harias en tus funciones que manejas los clicks de los botones, espero que esto resuelva tus dudas