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:
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


0