CLR: .Net / Mono / Boo / Otros CLR > ASP .NET

 Problema con carrito de compras

(1/4) > >>

matias_pinar:
Buenos dias

estoy haciendo un carrito de compras con base de datos SQL Server 2005

nose como hacer para guardar los productos comprados en la pagina "productos.aspx" ,la misma contiene "lblnombre,lbldescripcion, y lblprecio"

me dijieron que lo mas recomendable es guardarla en una variable de session ,el tema es que nose como hacerla :S

y despues todas las compras se muestran en un gridview en la pagina "carrito.aspx" ,como puedo hacer para cargar esa variable y que me la muestre en el gridview? y despues mediante el boton guardar me guarde las ventas en una base de datos

 

Saludos

Newtek:
Primero que nada si tienes

"lblnombre,lbldescripcion, y lblprecio"

Lo mas recomendable antes de guardarlo en una variable de session seria guardarlo a la base de datos. Ya que es tu sistema seria mas seguro y rapido y ocuparia menos memoria en el servidor. Yo diria que lo gurdaras tambien por que asi lo extraes sin problemas en la pagina carrito.aspx y se vuelve mas facil la manipulacion de los datos.

Para guardarlo en la base de datos tienes que correr un insert

se puede hacer asi.


--- Código: vb.net ---variableSQL = "Insert into NombreDeLaTabla values (" & lblnombre.text & ", " & lbldescripcion.text & ", & precio & ")"   Donde la variableSQL es un string.
Me imagiono que el nombre y la descripcion son strings y el precio es un int o real eso depende de tu sistema y las limitaciones que le quieras poner...
 Ahora bien puede ser una forma... la pregunta siguiente es ... que tipo de objeto vas a usar para ejecutar el string en la base de datos? un comando? o simplemente el objeto de conexion.

Ahora para guardar la variable como variable de session se hace asi..


--- Código: vb.net ---Session["nombre"]= lblnombre.text Esto basicamente pide espacio en la memoria del servidor y guarda el valor alli.


Avisame si ocupas mas ayuda aqui con gusto te ayudamos.

Carlos Co

matias_pinar:
hola :)

mira yo tengo una pagina de productos que mediante un dropdownlist recupero los datos que llenan las labels
lo que quiero hacer es guardar la compra mediante el boton btnguardar y luego en otra pagina llamada carrito.aspx me carge la variable ed session,me habian pasado este codigo que lo hice dentro de un global.asax


--- Código: vb.net ---Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)        ' Código que se ejecuta cuando se inicia una nueva sesión        'Aquí se crea una tabla temporal para guardar los        'Datos del carrito        Dim dt As New DataTable        'Ahora se creará columnas para la tabla indicando nombre de la columna        'y tipo de dato        Dim dc0 As New DataColumn("Item", System.Type.GetType("System.Byte"))        Dim dc1 As New DataColumn("Codigo", System.Type.GetType("System.Int16"))        Dim dc2 As New DataColumn("Cantidad", System.Type.GetType("System.Int16"))        Dim dc3 As New DataColumn("Descripcion", System.Type.GetType("System.String"))        Dim dc4 As New DataColumn("Precio", System.Type.GetType("System.Decimal"))        Dim dc5 As New DataColumn("Valortotal", System.Type.GetType("System.Decimal"))        'Ahora se añadirá las colñumnas a la coleccion de columnas        'del datatable dt        dt.Columns.Add(dc0)        dt.Columns.Add(dc1)        dt.Columns.Add(dc2)        dt.Columns.Add(dc3)        dt.Columns.Add(dc4)        dt.Columns.Add(dc5)        dc2.DefaultValue = 1 'Asi se especifica un valor por defecto para        'esta columna        'Ahora se est{a almacenando en una variable session la tabla creada        'para acceder desde cualquier parte de la aplicación pero por cada usuario        'o sesión        dc5.Expression = "Cantidad * PrecioUnitario"        'Asi se especifica la expresión de una fórmula que opera campos de la        'tabla        'dc1.Unique = True 'Asi se indica que en la segunda columna no puede        'existir valores duplicados        Session("carrito") = dt     End Sub 
lo guarde en el global.asax ,pero nose como usarla ,como es? cuando apreto el boton guardar de la pagina de productos ,guarda los datos en la variable de session? que codigo puedo usar? ,despues como cargo la variable para visualizarla en un gridview en la pagina "carrito.aspx"?
 en esta pagina se hace la venta final y guarda los datos en la base de datos

Muchas gracias por responderme :) te mande un mensaje privado pero nose si te habra llegado porque me dice q tengo los mensajes bloqueados :S
era para pedirte tu msn :)

Saludos desde Uruguay

Newtek:
Bueno debemos algo claro primero que nada..

Las variables de Aplicacion son las que se guardan en el global.asax no las sessiones.
Las Variables de session hay tres formas de trabajar o de abilitarlas.

La mas facil es dejar que el server se encarge de ellas (aun cuando hay tres formas de trabajar con ellas.)


Las sessiones guardan un espacion en la memoria del servidor y pertenecen al Name Space System.Web especificamente al objeto HttpContectxt.

bueno habiendo dicho eso... la forma de usar la session en tu caso seria que guardes la tabla en la variable de session.

y cuando la vas a usar... tienes que crear en la pagina carrito.aspx  una dataTable y pasar los datos de session a la tabla..

Asi:


--- Código: vb.net ---variableDataTable = (DataTable)Session["dt"] 


En otras palabras hay que hacer el cast de la variable de session creo que en VB se usa la funcion Ctype

Bueno... con respecto a mi MSN si me llego tu mensaje y te conteste.. espero que te llegue.
De todas formas no paso mucho tiempo en MSN...

Saludos y si necesitas mas ayuda me avisa...

Carlos Co.

matias_pinar:
fa la verdad que soy muy novato ,como tengo que hacer :S

gracias por todo :)
me llego el mail

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa