¿Por qué no puedo usar una variable declarada en otro metodo?

publicado por: Anonymous

¿Por qué me arroja error que la variable DIR_Id en CrearEncuesta_Onclick() no existe?

El código es el siguiente, no es total es sólo para dar la idea, me gustaría saber porque no reconoce la variable int DIR_Id; declarada antes y cómo se podría solucionar.

public void getData(string user)
{
 int DIR_Id;
        string constr = ConfigurationManager.ConnectionStrings["MyStringWeb"].ConnectionString;
        using (var conn = new SqlConnection(constr))
        {
            conn.Open();
            var cmmd = new SqlCommand("SELECT CLI_Id FROM vw_DatosCliente WHERE [email protected]", conn);
            cmmd.Parameters.AddWithValue("@Username", Session["Username"].ToString());
            System.Data.DataTable dtddl = new System.Data.DataTable();
            dtddl.Load(cmmd.ExecuteReader());
            CLI_Id = Convert.ToString(dtddl.Rows[0]["CLI_Id"]);
            DIR_Id = Convert.ToInt32(dtddl.Rows[0]["CLI_Id"]);

        }
}

 protected void CrearEncuesta_Onclick(object sender, EventArgs e)
    {
         labelClienteID.Text = DIR_Id; 
    }

solución

La variable esta declarada solo para el método getData por eso no es visible desde otro método, la deberías declarar para toda la clase.

http://csharp.com.es/ambito-de-las-variables/

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *