C sharp - Page.FindControl() para recuperar un UserControl

 
Vista:

Page.FindControl() para recuperar un UserControl

Publicado por José Manuel de la Cruz (1 intervención) el 08/06/2015 22:06:41
Buenas tardes,

Tengo una duda acerca de como recoger un Control de Usuario desde un método.

He intentado varias cosas y ahora estaba intentando grabar el control.ID desde el else que me manda al método, pero sigo sin dar con la tecla de cómo pasar el control "uncontrol" que estoy usando y que he usado anteriormente al método DevolverProducto_DesdeControlSeleccionado

Este es mi código actual:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
else // El control de usuario lo provoca
                {
                    foreach (string clave in this.Request.Params.Keys)
                    {
                        if (clave.Contains("BotonComprar"))
                        {
                            uncontrol = Page.LoadControl("~/MiControl.ascx") as MiControl;
                            uncontrol.ID = clave;
                            if (Session["Carrito"] != null)
                            {
                                Carrito CarritoActual = Session["Pedido"] as Carrito;
                                bool resultado = CarritoActual.addProductoLista(DevolverProducto_DesdeControlSeleccionado(clave));
                            }
                            else
                            {   //primer producto comprado, creamos nuevo Carrito y añadimos a la sesion..
                                Carrito nuevoCarrito = new Carrito();
                                bool resultado = nuevoCarrito.addProductoLista(DevolverProducto_DesdeControlSeleccionado(clave));
 
                                if (resultado == true)
                                {
                                    Session["Carrito"] = nuevoCarrito;
                                }
 
                            }
 
 
                        }
                    }
                }
            }
        }
 
        private Producto DevolverProducto_DesdeControlSeleccionado(String clave)
        {
 
            MiControl ProductoSeleccionado = Page.FindControl(clave) as MiControl;
// ProductoSeleccionado siempre es null por lo que nunca envía el Producto al método que lo requiere.
            if (ProductoSeleccionado != null)
            {
                Producto objetoProducto = new Producto();
                objetoProducto.nombre = ProductoSeleccionado.nombreControl;
                objetoProducto.cantidad = ProductoSeleccionado.cantidad;
                objetoProducto.precio = ProductoSeleccionado.precio;
 
                return objetoProducto;
            }
 
            return null;
 
        }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder