Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Douglas W.

Carrinho de compras em C#

Recommended Posts

Seguinte gente, eu estou tentando fazer um carrinho de compras, o que eu quero fazer é o seguinte, crio uma DataTable com os campos e aloco ela em uma session até ai beleza... mais qdo vou tentar atribuir a uma varíavel do tipo DataTable ele ocorre esse erro Cannot implicitly convert type 'object' to 'System.Data.DataTable'. An explicit conversion exists (are you missing a cast?), segue abaixo o arquivo para vocês analizarem, é na linha em vermelho que ocorre o erro:

 

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

public partial class _Default : System.Web.UI.Page

{

 

private DataTable carrinho;

 

protected void Page_Load(object sender, EventArgs e)

{

 

if (IsPostBack != false)

{

if (Session["carrinho"] == null)

{

DataTable temp = new DataTable("carrinho");

temp.Columns.Add("Quantidade", Type.GetType("System.Int32"));

temp.Columns.Add("Produto", Type.GetType("System.Int32"));

temp.Columns.Add("Preco", Type.GetType("System.Double"));

Session.Add("carrinho", temp);

carrinho = temp;

}

else

{

carrinho = Session["carrinho"];

}

}

}

protected void Button1_Click(object sender, EventArgs e)

{

}

protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e)

{

 

}

protected void TextBox1_TextChanged(object sender, EventArgs e)

{

 

}

protected void Button1_Click1(object sender, EventArgs e)

{

DataRow NovoProduto = carrinho.NewRow();

carrinho.Rows.Add(NovoProduto);

this.Page.Response.Write(carrinho.Rows.Count.ToString());

GridView1.DataSource = carrinho.DataSet;

GridView1.DataBind();

 

}

}

 

 

já tentei usar carrinho = Convert.ChangeType(Session['carrinho"],Type.GetType("System.Data.DataTable")); mais não deu certo...

 

Obrigado pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não entendo muito de C#, mas em Java pra fazer isso era necessario fazer "casting" mas acho que deva ser assim.Troque a sua linha carrinho = Session["carrinho"];por carrinho = (DataTable) Session["carrinho"];Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não entendo muito de C#, mas em Java pra fazer isso era necessario fazer "casting" mas acho que deva ser assim.Troque a sua linha carrinho = Session["carrinho"];por carrinho = (DataTable) Session["carrinho"];Espero ter ajudado.

Deu certinho mnao, tinha até esquecido dessa form de fazer... value mesmo abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.