Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Fabricio en 24 Abril 2010, 15:01 PM

Título: Alcanse de una variable en C#
Publicado por: Fabricio en 24 Abril 2010, 15:01 PM
Hola a todos tengo un problema no se como hacer para que todos los metodos sepan que existe una variable llamada boton


public partial class ABM : System.Web.UI.Page
{
   string boton;
   int id;
   string nombre;

   protected void Page_Load(object sender, EventArgs e)
   {      
   }

   protected void cmdAceptar_Click(object sender, EventArgs e)
   {
       switch (boton)
       {
           
           case "Modificar":
               
               p.Modificar(id, nombre);
               break;

           case "Eliminar":
               
               p.Eliminar(id);
               break;
       }
       this.RefrescarGrilla();
       Panel1.Visible = false;
   }
 

   protected void cmdModificar_Click(object sender, EventArgs e)
   {
       
       Panel1.Visible = true;
       boton = "Modificar";
   }

   protected void cmdEliminar_Click(object sender, EventArgs e)
   {
       
       Panel1.Visible = true;
       boton = "Eliminar";
   }    

}



lo que quiero es que segun el valor que le doy a boton(modificar eliminar)
y en el metodo cmdAceptar entre por alguno de los case del switch para llamar al metodo de p que corresponda
el problema es que boton trae null luego de salir del metodo cmdEliminar o cmdModificar y me pasa de largo las opciones del switch

espero que alguien me de una mano
la solucion debe ser muy simple pero no me doy cuenta

gracias
Título: Re: Alcanse de una variable en C#
Publicado por: Novlucker en 24 Abril 2010, 23:31 PM
Usa una variable estatica ;)

Saludos
Título: Re: Alcanse de una variable en C#
Publicado por: MANULOMM en 2 Mayo 2010, 18:30 PM
estas en ASP.NET, cada vez que un evento o metodo termina el borra el contenido de las variables pues hizo un PostBack, no es igual que en Windows, debes guardar el contenido de la variable en un Session o en ViewState.

Atentamente,

Juan Manuel Lombana
Microsoft Student Partner
Microsoft Certified Professional
Medellín - Colombia
Título: Re: Alcanse de una variable en C#
Publicado por: Novlucker en 3 Mayo 2010, 00:45 AM
Es verdad, no me había dado cuenta de lo que querías hacer realmente, eso me pasa por no mirar el código :-X

Saludos
Título: Re: Alcanse de una variable en C#
Publicado por: Fabricio en 3 Mayo 2010, 02:46 AM
static string boton;
definiendo esto funciono de 10  ::)

muchas gracias a todos  ;-)
Título: Re: Alcanse de una variable en C#
Publicado por: MANULOMM en 4 Mayo 2010, 03:18 AM
Cita de: fabricioAngel en  3 Mayo 2010, 02:46 AM
static string boton;
definiendo esto funciono de 10  ::)

muchas gracias a todos  ;-)

Otro que no sabe lo que hace.  :silbar: :silbar: :silbar: :silbar:


PROGRAMAR NO ES PICAR CÓDIGO.


Atentamente,

Juan Manuel Lombana
Microsoft Student Partner
Microsoft Certified Professional
Medellín - Colombia
Título: Re: Alcanse de una variable en C#
Publicado por: Fabricio en 7 Mayo 2010, 14:39 PM
no me quedo clara por que no puedo poner la variable boton como estatica
me poderian explicar..... poniendola como estatica funciona pero por que dicen que esta mal

gracias saludos
Título: Re: Alcanse de una variable en C#
Publicado por: [D4N93R] en 7 Mayo 2010, 16:20 PM
Lo mejor que puedes hacer para opciones es un DropdownList es decir un combo box, o también puedes hacerlo con Radio Buttons, creo que es la mejor opción para el usuario en vez de seleccionar con Botones.. Tienes que mejorar la UI.

No vas a usar statics variables en Web, ya que al hacer postback se pierde el valor, por lo que tienes la opción del ViewState o Session, Pero sigues cayendo en las malas prácticas.

Cómo dicen Manulomm, Programar no es picar código!