Foro de elhacker.net

Programación => .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
 
Código:

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
Código:
 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
Código:
 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!