Ciao a tutti,
ho un problema con le sessioni in asp.
in una pagina creo un'oggetto da una mia classe e lo metto nella session.
In un'altra pagina dovrei leggere l'oggetto dalla session e scriverne le proprietà, ma ottengo un errore di questo tipo:
Ringrazio anticipatamente chi avrà qualche consiglio.codice:Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'mycart.products' /minishop/provacartsession.asp, line 82
i sorgenti delle due pagine sono questi:
prima pagina (inserisce l'oggetto nella session)
provacart.asp
questa invece è la pagina che dovrebbe leggere dalla sessione e dà l'errorecodice:<% Class cartItem private m_prodId private m_description private m_price private m_taxes private m_quantity Public property get productID productId = m_prodId end property Public property get description description = m_description end property Public property get price price = m_price end property Public property get taxes taxes = m_taxes end property Public property get quantity quantity = m_quantity end property Public property let productId(arg) m_prodId = arg end property Public property let description(arg) m_description = arg end property Public property let price(arg) m_price = arg end property Public property let taxes(arg) m_taxes = arg end property Public property let quantity(arg) m_quantity = arg end property end class Class shopCart Public products() Private Sub Class_Initialize() redim products(1) 'response.write " shopcart initialized. ubound(products): " & ubound(products) & "</p>" End Sub Public Sub add(id,description,price,vat,qty) 'response.write "sub add" 'response.flush set tempItem = new cartItem with tempItem .productId = id .description = description .price = price .taxes = vat .quantity = quantity end with 'response.write "adding item" 'response.flush redim preserve products(ubound(products)) set products(ubound(products)-1) = tempItem 'response.write products(ubound(products)-1).description end sub public property get items items = products end property end class set prova = new shopCart prova.add 1,"prova descrizione 1",10,20,1 set Session("shop_cart") = prova %> verifica sessione
provacartsession.asp
codice:<% Class cartItem private m_prodId private m_description private m_price private m_taxes private m_quantity Public property get productID productId = m_prodId end property Public property get description description = m_description end property Public property get price price = m_price end property Public property get taxes taxes = m_taxes end property Public property get quantity quantity = m_quantity end property Public property let productId(arg) m_prodId = arg end property Public property let description(arg) m_description = arg end property Public property let price(arg) m_price = arg end property Public property let taxes(arg) m_taxes = arg end property Public property let quantity(arg) m_quantity = arg end property end class Class shopCart Public products() Private Sub Class_Initialize() redim products(1) 'response.write " shopcart initialized. ubound(products): " & ubound(products) & "</p>" End Sub Public Sub add(id,description,price,vat,qty) 'response.write "sub add" 'response.flush set tempItem = new cartItem with tempItem .productId = id .description = description .price = price .taxes = vat .quantity = quantity end with 'response.write "adding item" 'response.flush redim preserve products(ubound(products)) set products(ubound(products)-1) = tempItem 'response.write products(ubound(products)-1).description end sub public property get items items = products end property end class set mycart = Session("shop_cart") response.write "prodotto 1: " & mycart.products(0).description %>

Rispondi quotando