Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con Carro de compras

Estas en el tema de Problema con Carro de compras en el foro de .NET en Foros del Web. Hola, estoy haciendo una clase con la funcionalidad de un carro de compra. En esta clase tengo una función ( Add ) que primero agrega ...
  #1 (permalink)  
Antiguo 12/06/2005, 13:26
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 10 meses
Puntos: 9
Problema con Carro de compras

Hola, estoy haciendo una clase con la funcionalidad de un carro de compra.
En esta clase tengo una función (Add) que primero agrega un Item al carro de compras (es un hashtable), y luego la función me devuelve está hashtable para referenciarla a una sesion. El problema es que no me agrega más de un producto al carro, y la verdad no se como solucionarlo. Quiero decir que el código es totalmente de prueba, pero uqe no logro hacerlo funcionar hasta el momento. Les dejo el código relevante:

Página buying.aspx (en donde se agrega el producto al carro)

<a href="test_CarrodeCompra.aspx?id=1&Qty=1">Comprar Producto 1</a><br>
<a href="test_CarrodeCompra.aspx?id=2&Qty=1">Comprar Producto 2</a><br>
<a href="test_CarrodeCompra.aspx?id=2&Qty=8">Agregar Producto 2</a><br>
<a href="test_CarrodeCompra.aspx?id=2&Qty=10">Agregar Producto 1</a><br>


Página que trata de agregar al carro:

Sub Page_Load(O As Object, E As EventArgs)

Dim MyCart As New ShopCart
Dim ItemId As Byte
Dim Quantity As Byte

ItemId = Request.QueryString("Id")
Quantity = Request.QueryString("Qty")

session("ShoppingCart") = MyCart.Add(ItemId, Quantity)

Dim Values As DictionaryEntry
For each Values in session("ShoppingCart")
Response.Write(Values.Key)
next

End Sub

El problema, para que quede más claro, no es en la función en sí, ya que el producto se agrega. La cuestión está en que por más que llame muchas veces a esta página para agregar diferentes productos, en el carro de compras sigue habiando un solo producto, justamente el último que fue agregado.
Espero que alguien me pueda dar una mano en esto.
Saludos!.
  #2 (permalink)  
Antiguo 12/06/2005, 23:13
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años, 3 meses
Puntos: 8
Si te das cuenta, cada vez que llamas a la función creas un nuevo "ShopCart" y añades un producto, y se lo asignas a la variable de session, por lo que efectivamente sólo tendrás un producto cada vez, prueba esto:

MyCart = Session("ShoppingCart")
MyCart.Add(ItemId, Quanty)
Session("ShopingCart") = MyCart
  #3 (permalink)  
Antiguo 13/06/2005, 11:41
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 10 meses
Puntos: 9
Hola, antes que nada te agradezco por haberme respondido. Veo el error que me decís, y traté con el código que me pasaste haber si funcionaba, pero cuando hago Mycart = session("ShoppingCart"), me da el siguiente error:

System.InvalidCastException: La conversión especificada no es válida.

A que se puede deber?.

Muchas gracias por tu ayuda, saludos!:
  #4 (permalink)  
Antiguo 13/06/2005, 12:45
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años, 3 meses
Puntos: 8
mmm, el problema parece porque no coinciden los tipos, es decir tu Session("ShoppingCart") es de un tipo (creo haber leido que un hashtable) y MyCart es de tipo ShopCart, así que deberías hacer alguna tipo de conversión antes, o utilizar datasets, no se, ya dependerá de ti.
Yo no he utilizado hashtable, pero para hacer la asignación tu tipo ShopCart debería hereder de éste, si no como te digo, deberías adaptarlo.
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 15:42.