I have SESSION["Cart"]
in session I have multiple data
Data like
- ProductCode
- ProductName
- ProductPrice
- ProductImage
Now I want to delete data from session["cart"]
Like I have two items of data in the cart
ProductCode ProductName
--------------------------
12 Dress
13 baby cloth
Now I want to delete item with ProductCode = 13
. How do I do this because my data is stored in session?
Note: I use gridview and in gridview I use rowdeleting event
When I perform row deleting event its work. But when I refresh the page, then all the data is back because of the session.
Please tell me how I can remove data from Session["cart"]
Kindly solve my problem
UPDATE
This is my code where I add data to the Session["Cart"]
:
foreach (DataRow dr in dt.Rows)
{
ProductCode = Convert.ToInt32(dr["ProductsCode"]);
ProductName = dr["ProductsName"].ToString();
ProductPrice = dr["ProductPrice"].ToString();
ProductImage = dr["ProductImage"].ToString();
CompanyName = dr["CompanyName"].ToString();
Quantity = Convert.ToInt32(Session["quantity"]);
}
int result = cmd.ExecuteNonQuery();
con.Close();
if (Session["Cart"] == null)
{
Session["Cart"] = ProductName.ToString() + "," + ProductPrice.ToString()
+ "," + ProductImage.ToString() + "," + CompanyName.ToString()
+ "," + Quantity.ToString() + "," + ProductCode.ToString();
}
else
{
Session["Cart"]= Request.Cookies["Cart"].Value + "|" + ProductName.ToString()
+ "," + ProductPrice.ToString() + "," + ProductImage.ToString()
+ "," + CompanyName.ToString() + "," + Quantity.ToString() + ","
+ ProductCode.ToString();
}
Update
public void GridView()
{
DataTable dt = new DataTable("tbl_Products");
dt.Columns.AddRange(new DataColumn[6] { new
DataColumn("ProductsName"), new DataColumn("ProductPrice"), new
DataColumn("ProductImage"), new DataColumn("CompanyName"), new
DataColumn("Quantity"), new DataColumn("ProductsCode") });
if (Session["Cart"] != null)
{
s = Convert.ToString(Session["Cart"]);
string[] strArr = s.Split('|');
for (int i = 0; i < strArr.Length; i++)
{
t = Convert.ToString(strArr[i].ToString());
string[] strArr1 = t.Split(',');
for (int x = 0; x < strArr1.Length; x++)
{
array[x] = strArr1[x].ToString();
}
dt.Rows.Add(array[0].ToString(), array[1].ToString(), array[2].ToString(), array[3].ToString(), array[4].ToString(), array[5].ToString());
tot = tot + (Convert.ToInt32(array[1].ToString()));
TotalAmountlbl.Text = tot.ToString();
int TotalAmount = Convert.ToInt32(TotalAmountlbl.Text);
int Charges = Convert.ToInt32(ChargesLabel.Text);
Result = Convert.ToInt32(TotalLabel.Text);
Result = TotalAmount + Charges;
TotalLabel.Text = Result.ToString();
}
}
GridView1.Columns[0].HeaderText = "Product Code";
GridView1.Columns[1].HeaderText = "Product";
GridView1.Columns[2].HeaderText = "Quantity";
GridView1.Columns[3].HeaderText = "Product Name";
GridView1.Columns[4].HeaderText = "Server Charges";
GridView1.Columns[5].HeaderText = "Price";
GridView1.Columns[6].HeaderText = "Company Name";
ViewState["dt"] = dt;
BindGrid();
GridView1.DataSource = dt;
GridView1.DataBind();
}