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:
Esto es a modo de encontrar el mejor rendimiento para la utilización del UserControl. 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); }