Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal, estou fazendo uma espécie de carrinho de compras e a cada produto selecionado eu tenho que passar a quantidade e o código do produto por sessão.
Eu poderia criar duas variáveis de Sessão Session("produto") e Session("qtde") e em cada uma colocar um array, mas eu to usando orientação a objeto e gostaria de passar um objeto do tipo BuyKart para a sessão. este objeto tem 2 variáveis: qtde e product. O Objeto qtde guarda a quantidade e o product guarda outro objeto do tipo Product e que contem várias variáveis, mas apenas será setada a variável code (código do produto)
Dessa forma eu queria passar um array de objetos do tipo produto, mas algo estranho acontece ao tentar guardar o array de objetos na Sessão.
Fiz um teste pra facilitar pra vcs:
cp = Request.Form("cp")
qt = Request.Form("qtde")
kart = Array()
redim kart(0)
set kart(0) = new BuyKart
kart(0).qtde = 9
set kart(0).product = new Product
kart(0).product.code = 444
Session("kart") = kart
Response.write Session("kart").qtde
Isso funciona perfeitamente e ele escreve o valor "444" da variavel qtde, mas é só trocar de página e ele dá erro ao acessar a variável do objeto:
Response.write ubound(Session("kart"))
Response.write isobject(Session("kart")(0))
Response.write Session("kart")(0).qtde ' <- Nessa linha é que dá o erro.
Ele escreve os dois primeiros valores numa boa. Retorna o tamanho certinho do array no primeiro e retorna true no segundo. Perfeito
É só eu acessar a variável (n caso a qtde) e ele dá falha catastrófica.
ATENÇÃO
Ele dá dois erros diferentes e fica alternando conforme atualizo a página:
Primeiro:
Tipo de erro:
Erro de tempo de execução do Microsoft VBScript (0x800A01B6)
O objeto não dá suporte para a propriedade ou método: 'qtde'
/projeto/lay/testeprodflush.asp, line 13
Segundo:
tipo de erro:
(0x8000FFFF)
Falha catastrófica
/projeto/lay/testeprodflush.asp, line 13
Não sei o que fazer. Espero que possam me ajudar, tenho prazo =/
Valeu pessoal
Carregando comentários...