we have to make a datatable like this
public object makeCart(){
objDT = new System.Data.DataTable(“Cart”);objDT.Columns.Add(“ID”, typeof(int));objDT.Columns[
"ID"].AutoIncrement = true;objDT.Columns["ID"].AutoIncrementSeed = 1;objDT.Columns.Add(
“Quantity”, typeof(int));objDT.Columns.Add(“Product”, typeof(string));objDT.Columns.Add(
“Cost”, typeof(decimal));return objDT;}
in the page load
if (Session["Cart"]==null){
Session["Cart"] = makeCart();}
then in the add to cart button click
protected void btnAddtocart_Click(object sender, EventArgs e){
objDT = (DataTable)Session["Cart"];object Product = lblName.Text;
bool blnMatch = false; foreach (DataRow objDR in objDT.Rows){
if (objDR["Product"].Equals(Product)){
objDR["Quantity"] = (object)(Convert.ToInt32(objDR["Quantity"]) + Convert.ToInt32(txtQty.Text));blnMatch = true;
break;}
}
if (!blnMatch){
objDR = objDT.NewRow();
objDR["Quantity"] = Int32.Parse(txtQty.Text);objDR["Product"] = lblName.Text;objDR[
"Cost"] = decimal.Parse(lblPrice.Text);objDT.Rows.Add(objDR);
}
Session["Cart"] = objDT;Response.Redirect(“viewcart.aspx”);}
then in the view cart page
protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack){
cart = (DataTable)Session["Cart"];girdCart.DataSource = cart;
girdCart.DataBind();
if (Session["Cart"] != null){
total = GetItemTotal();
lblDispalyTot.Text = “Total: $” + total.ToString();}
}
}
protected void btnContunueShopping_Click(object sender, EventArgs e){
Response.Redirect(“Home.aspx”);}
protected void girdCart_RowDeleting(object sender, GridViewDeleteEventArgs e){
cart = (DataTable)Session["Cart"];cart.Rows[e.RowIndex].Delete();
girdCart.DataSource = cart;
girdCart.DataBind();
total = GetItemTotal();
lblDispalyTot.Text = “Total: $” + total.ToString();if (cart.Rows.Count == 0){
btnEmptyCart_Click(sender,e);
}
}
public decimal GetItemTotal(){
for (intCounter = 0; intCounter <= cart.Rows.Count – 1; intCounter++){
objDR = cart.Rows[intCounter];
decRunningTotals += (decimal)(Convert.ToInt32(objDR["Cost"]) * Convert.ToInt32(objDR["Quantity"]));}
return decRunningTotals;}
protected void btnCheckout_Click(object sender, EventArgs e){
Response.Redirect(“~/SignIn.aspx”);}
protected void girdCart_RowUpdating(object sender, GridViewUpdateEventArgs e){
string quantity;cart = (DataTable)Session["Cart"];objDR = cart.Rows[e.RowIndex];
quantity = ((TextBox)girdCart.Rows[e.RowIndex].Cells[1].FindControl(“txtqty”)).Text;objDR[
"Quantity"] = Convert.ToInt32(quantity);girdCart.DataSource = cart;
girdCart.DataBind();
total = GetItemTotal();
lblDispalyTot.Text = “Total: $” + total.ToString();}
protected void btnEmptyCart_Click(object sender, EventArgs e){
Session["Cart"] = null;cart =(DataTable) Session["Cart"];girdCart.DataSource = cart;
girdCart.DataBind();
lblDispalyTot.Text = ” “;lblCart.Text = “Your Cart is empty now”;}