mestre fyoda Postado Agosto 4, 2007 Denunciar Share Postado Agosto 4, 2007 Eu precisava algo do tipo Cookie["cesta"]["quantidade"][indice] mas eu já procurei algum tuto e não achei em relação ao Cookie ser tridimencional, como deveria funcionar ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 5, 2007 Denunciar Share Postado Agosto 5, 2007 Não seria só guardar um objeto como uma HashTable ou um Dictionary dentro de um elemento Cookie? Pela lógica, deve funcionar.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Agosto 5, 2007 Autor Denunciar Share Postado Agosto 5, 2007 (editado) Compiler Error Message: CS0117: 'System.Collections.Hashtable' does not contain a definition for '_produto'O que está errado ?<script language="C#" runat="server">public Hashtable Cesta = new Hashtable();public void Page_Load(object sender, EventArgs e) { try {Cesta.Add(Cesta._produto,"Modem"); Cesta.Add(Cesta._quantidade,"1"); } catch (NullReferenceException nre) { Response.Write("A chave não existe no Hashtable"); Response.Write(nre.Message); } if( Cesta.Count == 0 ) { Response.Write("Não há nada na Hash"); } else { Response.Write("Total itens antes de remover é " + Cesta.Count); Response.Write("Primeira pessoa removida!"); Cesta.Remove(Cesta._produto); } }</script> Editado Agosto 5, 2007 por mestre fyoda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 5, 2007 Denunciar Share Postado Agosto 5, 2007 Primeiro é a chave e depois o valor ao chamar o métdo Add da hashtable.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Agosto 5, 2007 Autor Denunciar Share Postado Agosto 5, 2007 <script language="C#" runat="server">public Hashtable Cesta = new Hashtable();public void Page_Load(object sender, EventArgs e) { try { Cesta.Add("produto","Modem"); Cesta.Add("quantidade","1"); } catch (NullReferenceException nre) { Response.Write("A chave não existe no Hashtable"); Response.Write(nre.Message); } if( Cesta.Count == 0 ) { Response.Write("Não há nada na Hash"); } else { Response.Write("Total itens antes de remover é " + Cesta.Count); Response.Write("Primeira pessoa removida!");Cesta.Clear(); Response.Write("Movido o produto " + Cesta["produto"]); Response.Write("<br />Atualizado o banco de dados. Há " + Cesta.Count + " produtos"); } }</script>Esse codigo está deletando tudo, eu só gostaria de deletr apenas um , como eu faria ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 5, 2007 Denunciar Share Postado Agosto 5, 2007 Use o método Remove().Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Agosto 5, 2007 Autor Denunciar Share Postado Agosto 5, 2007 Antes de apresentar os valores ele apresenta a quantidade total que é 2 e depois ele remove , porem no fonal eu jogo em tela as quantidades da Collection mas continua apresentando 2 , deveria apresentar 0 . Porque não esta removendo ?Response.Write(Cesta.Count + "<br />"); while (en.MoveNext()) { Response.Write(en.Key + " : " + en.Value + "<br />"); Cesta.Remove(en.Value); } Response.Write(Cesta.Count + "<br />"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 5, 2007 Denunciar Share Postado Agosto 5, 2007 Não é o valor que você deve passar para remover e sim a chave.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Agosto 5, 2007 Autor Denunciar Share Postado Agosto 5, 2007 (editado) Erro : System.InvalidOperationException: Collection was modified; enumeration operation may not execute.Response.Write(Cesta.Count + "<br />"); while (en.MoveNext()) { Response.Write(en.Key + " : " + en.Value + "<br />"); Cesta.Remove(en.Key); } Response.Write(Cesta.Count + "<br />"); Editado Agosto 5, 2007 por mestre fyoda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 5, 2007 Denunciar Share Postado Agosto 5, 2007 O que é o "en"? Não é com a hashtable "Cesta" que você está trabalhando?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Agosto 5, 2007 Autor Denunciar Share Postado Agosto 5, 2007 (editado) modifiquei a minha codificação :) malz ai de não ter colocado o resto :<%@ Page Language="C#" Debug="true" %> <%@ import Namespace="System" %> <%@ import Namespace="System.Collections" %> <script language="C#" runat="server"> public void Page_Load(object sender, EventArgs e) { Hashtable Cesta = new Hashtable(); try { Cesta.Add("quantidade","1"); Cesta.Add("produto","Modem"); } catch (NullReferenceException nre) { Response.Write("A chave não existe no Hashtable"); Response.Write(nre.Message); } IDictionaryEnumerator en = Cesta.GetEnumerator(); Response.Write(Cesta.Count + "<br />"); while (en.MoveNext()) { Response.Write(en.Key + " : " + en.Value + "<br />"); } Cesta.Remove(); Response.Write(Cesta.Count + "<br />"); } </script> Como eu faço para remover uma key com uma variavel , exemplo : Cesta.Remove(variavel); , como eu faria ? Editado Agosto 5, 2007 por mestre fyoda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 Tnt usar o removeAt(key) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mestre fyoda
Eu precisava algo do tipo Cookie["cesta"]["quantidade"][indice] mas eu já procurei algum tuto e não achei em relação ao Cookie ser tridimencional, como deveria funcionar ?
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.