Tema: Programação (Asp.Net + C#)
Nível: Básico
Boa noite para todos!
Hoje gostaria de compartilhar uma solução muito legal e útil, principalmente para aqueles que estão criando uma loja virtual.
O assunto que vêm a ser discutido, trata-se de como atribuir em uma Session um Array, onde contenha diversas informações. Bom, isso é muito útil, pois imagine você estando desenvolvendo uma loja virtual, logo precisará de um carrinho de compras onde irá armazenar as informações dos itens que o usuário está selecionando, sendo assim, não seria nada prático, bonito nem ao menos profissional, você sair criando um monte de Session, cada uma com deterninada informação.
Pensando nisso, tai uma bela alternativa, criar uma Session ‘pai’ onde armazene todas as informações que necessito, para assim ter meu carrinho de compra e fornecer ao usuário informações úteis sobre sua compra.
Então mâos na massa!
1) Primeiramente iremos criar um ArrayList (para quem não conhece, neste post não irei falar sobre as características do ArrayList):
ArrayList Meu_Array = new ArrayList();
2) Em seguida, vamos adicionar ao nosso ArrayList criado, duas posições (0,1) com os dados de um suposto TextBox do seu Form:
Meu_Array.Add(SuaTextBox1.Text);
Meu_Array.Add(SuaTextBox2.Text);
3) Logo após, iremos atribuir a uma Session o nosso ArrayList:
Session["Minha_Session"] = Meu_Array;
Feito isso, você já possui uma Session na qual possui um ArrayList armazenado.
Abaixo darei um exemplo somente para conferirmos o resultado disso tudo na tela (browser).
Meu_Array = (ArrayList)Session["Minha_Session"];
for (int i = 0; i <= Meu_Array.Count-1; i++){
Response.Write(Meu_Array[i].ToString()+”<br>”);
}
Para aqueles que ainda não tem costume de lidar com Array’s, para acessarmos uma determinada posição deste nosso ArrayList (meu post), podemos fazer da seguinte maneira:
Meu_Array = (ArrayList)Session["Minha_Session"];
string Minha_Variavel = Meu_Array[1].ToString();
OBS: No mundo dos Array’s posição 0 significa posição 1, sendo assim, Meu_Array[0] não significa estar acessando o conteúdo na posição 0 e sim na posição 1.
Logo temos: ‘Minha_Variavel’ com o valor da ‘SuaTextBox2′.
Bom, espero que possa ser útil as informações compartilhadas. Dúvidas e sugestões são bem-vindas.
Forte abraço e até a próxima.
Murilo 6:05 pm em Novembro 13, 2009 Link Permanente |
Olá. estou trabalhando com os componentes tb, mais o problema é que na hora de receber os dados, apos dar o post para o mpg.exe e informar os dados do cartão etc, “Erro – resposta não foi enviada com sucesso para o CGI REsponse.”
não sei mais o que fazer!
felippem 9:56 pm em Novembro 13, 2009 Link Permanente |
Olá Murilo!
Se possível, detalhe um pouco mais sobre suas codificações.
Murilo 11:07 pm em Novembro 13, 2009 Link Permanente
Olá felipe, eu estou utilizando a loja exemplo da visa somente para testar os componentes e depois implementar no meu código, após preencher o numero de cartão e enviar é onde eu tenho o problema, no retorno,
ocorre este erro que te falei, os componentes estão todos instalados,
me passe seu e-mail que te passo a url para vc mesmo ver o problema!
Obrigado!
Murilo 1:30 pm em Dezembro 16, 2009 Link Permanente |
Olá Felipe, este problema já resolvi, agora estou com um problema de quando abrro a popup do visa, a pagina do visa, a que preenche o cartão etc, vem com os caracteres especiais, no lugar de acentuação etc, já tentei de tudo ao enviar o post mais essa pagina fica assim, mandando em asp classico nao fica, como estou fazendo o post via aspx C# fica assim, alguma ideia?
Obrigado novamente!
felippem 11:50 am em Dezembro 16, 2009 Link Permanente
Bom dia Murilo.
Desculpe a demora, mas ultimamente estou sem tempo! Se ainda tiver com o problema (acredito que não) me passa a url.
Abraços.