Foros del Web » Programando para Internet » ASPX (.net) »

Acceder a controles de UserControl desde afuera

Estas en el tema de Acceder a controles de UserControl desde afuera en el foro de ASPX (.net) en Foros del Web. Mi consulta es la siguiente: Cual es la mejor forma de acceder a los controles y valores correspondientes de un UserControl desde un formulario? y ...
  #1 (permalink)  
Antiguo 02/08/2009, 12:26
 
Fecha de Ingreso: noviembre-2008
Ubicación: Uruguay
Mensajes: 49
Antigüedad: 15 años, 6 meses
Puntos: 1
Busqueda Acceder a controles de UserControl desde afuera

Mi consulta es la siguiente:
Cual es la mejor forma de acceder a los controles y valores correspondientes de un UserControl desde un formulario? y expongo el siguiente código como ejemplo:

Código:
public partial class ActualizacionDePreciosTC : System.Web.UI.UserControl
{
    double precioUnitario;
    public double PrecioUnitario
    {
        set { precioUnitario = value; }
        get { return precioUnitario; }
    }

    double precioTotal;
    public double PrecioTotal
    {
        get { return precioTotal; }
        set { precioTotal = value ; }
    }

    string moneda;
    public string Moneda
    {
        get { return moneda; }
        set { moneda = value; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        txtMontoUnitario.Text = Convert.ToString(PrecioUnitario);
        string mensaje = "";
        double importeUnitario = 0;
        double monedaActual = 25.5;
        int tipoMoneda = 0;

        Cotizacion c = null;
        c = LogicaCotizacion.BuscarCotizacionActual();
        if (c != null)
        {
            try
            {
                importeUnitario = PrecioUnitario;
            }
            catch
            {
                mensaje = "El importe ingresado debe ser un decimal. ";
            }

            if (mensaje == "")
            {
                tipoMoneda = Convert.ToInt32(ddlMoneda.SelectedIndex);

                if (tipoMoneda == 0)
                {
                    txtMontoConvertido.Text = Convert.ToString(PrecioUnitario);
                    PrecioTotal = importeUnitario;
                    Moneda = "Dolares";
                }
                else
                {
                    if (tipoMoneda == 1)
                    {
                        monedaActual = c.Dolar;
                        importeUnitario = importeUnitario * monedaActual;
                        txtMontoConvertido.Text = (importeUnitario).ToString();
                        PrecioTotal = importeUnitario;
                        Moneda = "Pesos";
                    }
                    else
                    {
                        monedaActual = c.Euro;
                        importeUnitario = importeUnitario * c.Dolar / c.Euro;
                        txtMontoConvertido.Text = (importeUnitario).ToString();
                        PrecioTotal = importeUnitario;
                        Moneda = "Euros";
                    }
                }
            }
            else
            {
                lblError.Text = mensaje;
            }
        }
        else
        {
            lblError.Text = "No existen tipos de cambios. ";
        }
    }

    

    protected void btnActualizar_Click(object sender, EventArgs e)
    {
        string mensaje = "";
        double importeUnitario = 0;
        double monedaActual = 0;
        int tipoMoneda = 0;

        Cotizacion c = null;
        c = LogicaCotizacion.BuscarCotizacionActual();
        if (c != null)
        {
            try
            {
                importeUnitario = PrecioUnitario;
            }
            catch
            {
                mensaje = "El importe ingresado debe ser un decimal. ";
            }

            if (mensaje == "")
            {
                tipoMoneda = Convert.ToInt32(ddlMoneda.SelectedIndex);

                if (tipoMoneda == 0)
                {
                    txtMontoConvertido.Text = Convert.ToString(PrecioUnitario);
                }
                else
                {
                    if (tipoMoneda == 1)
                    {
                        monedaActual = c.Dolar;
                        importeUnitario = importeUnitario * monedaActual;
                        txtMontoConvertido.Text = (importeUnitario).ToString();
                    }
                    else
                    {
                        monedaActual = c.Euro;
                        importeUnitario = importeUnitario * c.Dolar / c.Euro;
                        txtMontoConvertido.Text = (importeUnitario).ToString();
                    }
                }
            }
            else
            {
                lblError.Text = mensaje;
            }
        }
        else
        {
            lblError.Text = "No existen tipos de cambios. ";
        }
    }
    protected void ddlMoneda_SelectedIndexChanged(object sender, EventArgs e)
    {
        this.btnActualizar_Click(sender, e);
    }
Esto es a modo de encontrar el mejor rendimiento para la utilización del UserControl.

Última edición por bierksoft; 02/08/2009 a las 14:08
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:01.