shopping cart using Session Arraylist and dataset in asp.net Update,Delete :
Using Session and DataSet :
http://vijubook.blogspot.in/2013/11/shopping-cart-using-session-arraylist.html
aspx:
-- CSS
<style type="text/css">
.tblTD {
width:200px;
font-size:15px;
text-align:center;
color:white;
}
</style>
<asp:Repeater ID="rptProductList" runat="server"
OnItemDataBound="rptProductList_ItemDataBound"
OnItemCommand="rptProductList_ItemCommand" >
<HeaderTemplate>
<div style="border:1px solid #6f6e6e">
<table>
<tr style="background:#6f6e6e;height:25px">
<td class="tblTD"></td>
<td class="tblTD">
<asp:Label ID="lbl" Text="ProductName"
runat="server"> </asp:Label>
</td>
<td class="tblTD">
<asp:Label ID="Label1" Text="Price" runat="server"> </asp:Label>
</td>
<td class="tblTD">
<asp:Label ID="Label2" Text="Qty" runat="server"> </asp:Label>
</td>
<td class="tblTD">
</td>
<td class="tblTD">
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<div>
<tr>
<td class="tblTD">
<asp:Image ID="Image1" runat="server"
ImageUrl='<%#"Handler1.ashx?id="+ Eval("ID")%>'
Height="125px" Width="125px" />
</td>
<td class="tblTD" style="color:#6f6e6e">
<asp:Label ID="lblName" runat="server"
Text='<%#Eval("pro") %>'></asp:Label>
</td>
<td class="tblTD" style="color:#6f6e6e">
<asp:Label ID="lblPrice" Text='<%#Eval("sp")%>'
runat="server"></asp:Label>
</td>
<td class="tblTD" style="color:#6f6e6e">
<asp:Label ID="lblQuantity" runat="server"></asp:Label>
</td>
<td class="tblTD" style="color:#6f6e6e">
<asp:TextBox ID="txtQuantity" Width="50px" runat="server">
</asp:TextBox>
--LinkButton Update CommandName,Command Argument
<asp:LinkButton ID="lnkUpdate" runat="server"
Text="Update" CommandArgument='<%#Eval("ID") %>' CommandName="UpdateColumn">
</asp:LinkButton>
</td>
<td class="tblTD" style="color:#6f6e6e">
--LinkButton Delete CommandName,Command Argument
<asp:LinkButton ID="lnkDelete" runat="server" Text="X"
CommandArgument='<%#Eval("ID") %>'
CommandName="DeleteColumn">
</asp:LinkButton>
<asp:Label ID="lblID" runat="server"></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</div>
</FooterTemplate>
</asp:Repeater>
aspx:CS :
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace project
{
public partial class Cart : System.Web.UI.Page
{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["Connection"]);
SqlDataAdapter da = new SqlDataAdapter();
System.Collections.ArrayList myArrayList = new ArrayList();
DataSet ds = new DataSet();
string aa;
string DeleteID, UpdateID,UpdateValue;
int bb=0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ds = (DataSet)Session["CartDS"];
View();
}
}
public void View()
{
string[] arrID = new string[20];
int Count;
if (Session["CartDS"] != null)
{
if (ds.Tables[0].Rows.Count != 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
arrID[i] = ds.Tables[0].Rows[i]["ID"].ToString() + ",";
aa += arrID[i];
}
aa = aa.Trim(',');
string Select;
Select = "Select * From tbl_product where ID in (" + aa + ")";
da = new SqlDataAdapter(Select, cn);
DataSet ds1 = new DataSet();
da.Fill(ds1);
rptProductList.DataSource = ds1;
rptProductList.DataBind();
--Quantity Add
foreach (RepeaterItem rpt in rptProductList.Items)
{
Label lbl = (Label)rpt.FindControl("lblQuantity");
Label lblID = (Label)rpt.FindControl("lblID");
TextBox txtQuantity =
(TextBox)rpt.FindControl("txtQuantity");
lbl.Text = ds.Tables[0].Rows[rpt.ItemIndex]
["items"].ToString();
lblID.Text = ds.Tables[0].Rows[rpt.ItemIndex]
["ID"].ToString();
txtQuantity.Text = ds.Tables[0].Rows[rpt.ItemIndex
["items"].ToString();
}
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
arrID[i] = ds.Tables[0].Rows[i]["items"].ToString();
bb += Convert.ToInt16(arrID[i]);
}
string cc = bb.ToString();
string Cou = ds1.Tables[0].Rows.Count.ToString();
Session["ItemCount"] = cc.ToString();
}
else
{
lblCartNotselected.Text = "You Selected Not Cart";
Session["ItemCount"] = "0";
}
}
else
{
Session["ItemCount"] = "0";
lblCartNotselected.Text = "You Selected Not Cart ! !";
}
}
--Repeater Control ItemCommand
protected void rptProductList_ItemCommand(object source,
RepeaterCommandEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
--Delete LinkButton CommandName and CommandArgument Passing
if (e.CommandName == "DeleteColumn")
{
Label lblQuantity = (Label)e.Item.FindControl("lblQuantity");
string aa = lblQuantity.Text;
DeleteID = e.CommandArgument.ToString();
ds = (DataSet)Session["CartDS"];
DataTable dt1 = new DataTable();
dt1 = ds.Tables[0];
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr["id"].ToString() == DeleteID)
{
--Delete
dr.Delete();
ds.Tables[0].AcceptChanges();
break;
}
// ds.Tables[0].AcceptChanges();
}
View();
Response.Redirect("Cart.aspx");
}
--Update LinkButton CommandName and CommandArgument Passing
if (e.CommandName == "UpdateColumn")
{
UpdateID = e.CommandArgument.ToString();
TextBox txtQuantity=
(TextBox)e.Item.FindControl("txtQuantity");
ds = (DataSet)Session["CartDS"];
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["id"].ToString() == UpdateID)
{
--Update
ds.Tables[0].Rows[i]["items"] = txtQuantity.Text;
ds.Tables[0].AcceptChanges();
break;
}
}
View();
}
}
}
}
No comments:
Post a Comment