Hi upendra,
Check this example. Now please take its reference and correct your code.
HTML
Product
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="Id" />
<asp:BoundField DataField="ProductName" HeaderText="Name" />
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:BoundField DataField="Price" HeaderText="Price" />
<asp:BoundField DataField="Quantity" HeaderText="Quantity" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button Text="Add To Cart" runat="server" OnClick="OnAddCart" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:Button Text="View Cart" runat="server" OnClick="OnViewCart" />
<asp:Button Text="Clear Cart" runat="server" OnClick="OnClearCart" />
ViewCart
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="ProductName" HeaderText="Name" />
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:BoundField DataField="Price" HeaderText="Price" />
<asp:BoundField DataField="Quantity" HeaderText="Quantity" />
</Columns>
</asp:GridView>
Namespaces
C#
using System.Data;
VB.Net
Imports System.Data
Code
Product
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("ProductId"),
new DataColumn("ProductName"),
new DataColumn("Description"),
new DataColumn("Price"),
new DataColumn("Quantity") });
dt.Rows.Add(1, "Chai", "Soft drinks, coffees, teas, beers, and ales", "18.00", "10 boxes x 20 bags");
dt.Rows.Add(2, "Aniseed Syrup", "Sweet and savory sauces", "10.00", "12 - 550 ml bottles");
dt.Rows.Add(3, "Pavlova", "Desserts, candies, and sweet breads", "17.45", "32 - 500 g boxes");
dt.Rows.Add(4, "Filo Mix", "Breads, crackers, pasta, and cereal", "7.00", "16 - 2 kg boxes");
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
protected void OnAddCart(object sender, EventArgs e)
{
GridViewRow row = (sender as Button).NamingContainer as GridViewRow;
string name = row.Cells[1].Text.Trim();
string description = row.Cells[2].Text.Trim();
string price = row.Cells[3].Text.Trim();
string quantity = row.Cells[4].Text.Trim();
HttpCookie cookie = new HttpCookie("ut");
if (Request.Cookies["ut"] == null)
{
cookie.Values["ut"] = name + "|" + description + "|" + price + "|" + quantity;
cookie.Expires = DateTime.Now.AddDays(1);
}
else
{
cookie.Values["ut"] = Request.Cookies["ut"].Value + Environment.NewLine
+ name + "|" + description + "|" + price + "|" + quantity;
cookie.Expires = DateTime.Now.AddDays(1);
}
Response.Cookies.Add(cookie);
}
protected void OnViewCart(object sender, EventArgs e)
{
Response.Redirect("~/ViewCart.aspx");
}
protected void OnClearCart(object sender, EventArgs e)
{
if (Request.Cookies["ut"] != null)
{
HttpCookie cookie = Request.Cookies["ut"];
cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookie);
}
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange(New DataColumn() {
New DataColumn("ProductId"),
New DataColumn("ProductName"),
New DataColumn("Description"),
New DataColumn("Price"),
New DataColumn("Quantity")})
dt.Rows.Add(1, "Chai", "Soft drinks, coffees, teas, beers, and ales", "18.00", "10 boxes x 20 bags")
dt.Rows.Add(2, "Aniseed Syrup", "Sweet and savory sauces", "10.00", "12 - 550 ml bottles")
dt.Rows.Add(3, "Pavlova", "Desserts, candies, and sweet breads", "17.45", "32 - 500 g boxes")
dt.Rows.Add(4, "Filo Mix", "Breads, crackers, pasta, and cereal", "7.00", "16 - 2 kg boxes")
GridView1.DataSource = dt
GridView1.DataBind()
End If
End Sub
Protected Sub OnAddCart(ByVal sender As Object, ByVal e As EventArgs)
Dim row As GridViewRow = TryCast((TryCast(sender, Button)).NamingContainer, GridViewRow)
Dim name As String = row.Cells(1).Text.Trim()
Dim description As String = row.Cells(2).Text.Trim()
Dim price As String = row.Cells(3).Text.Trim()
Dim quantity As String = row.Cells(4).Text.Trim()
Dim cookie As HttpCookie = New HttpCookie("ut")
If Request.Cookies("ut") Is Nothing Then
cookie.Values("ut") = name & "|" & description & "|" & price & "|" & quantity
cookie.Expires = DateTime.Now.AddDays(1)
Else
cookie.Values("ut") = Request.Cookies("ut").Value & Environment.NewLine _
& name & "|" & description & "|" & price & "|" & quantity
cookie.Expires = DateTime.Now.AddDays(1)
End If
Response.Cookies.Add(cookie)
End Sub
Protected Sub OnViewCart(ByVal sender As Object, ByVal e As EventArgs)
Response.Redirect("~/ViewCart.aspx")
End Sub
Protected Sub OnClearCart(ByVal sender As Object, ByVal e As EventArgs)
If Request.Cookies("ut") IsNot Nothing Then
Dim cookie As HttpCookie = Request.Cookies("ut")
cookie.Expires = DateTime.Now.AddDays(-1)
Response.Cookies.Add(cookie)
End If
End Sub
ViewCart
C#
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("ProductName"),
new DataColumn("Description"),
new DataColumn("Price"),
new DataColumn("Quantity") });
if (Request.Cookies["ut"] != null)
{
string products = Request.Cookies["ut"].Value.Replace("ut=", "");
string[] strarr = HttpUtility.UrlDecode(products).Split('\n');
for (int i = 0; i < strarr.Length; i++)
{
string[] strarr1 = strarr[i].Split('|');
dt.Rows.Add(strarr1[0].Trim(), strarr1[1].Trim(), strarr1[2].Trim(), strarr1[3].Trim());
}
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange(New DataColumn() {
New DataColumn("ProductName"),
New DataColumn("Description"),
New DataColumn("Price"),
New DataColumn("Quantity")})
If Request.Cookies("ut") IsNot Nothing Then
Dim products As String = Request.Cookies("ut").Value.Replace("ut=", "")
Dim strarr As String() = HttpUtility.UrlDecode(products).Split(vbLf)
For i As Integer = 0 To strarr.Length - 1
Dim strarr1 As String() = strarr(i).Split("|"c)
dt.Rows.Add(strarr1(0).Trim(), strarr1(1).Trim(), strarr1(2).Trim(), strarr1(3).Trim())
Next
End If
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
Screenshot
