upade and total in footer templae of repeter not working
Dear sir,
I have making cart in my project every things went to right but update and total value not working I m also attaching my code ...check and help me as possible.
Soursr Code(HTML)
<asp:Repeater ID="Repeater1" runat="server" onitemcommand="cpRepeater_ItemCommand" >
<HeaderTemplate >
<table width="900px" border="1px">
<tr>
<td>Check</td>
<td>Pic</td>
<td>Product ID</td>
<td>Emailid</td>
<td>Size</td>
<td>Color</td>
<td>Price</td>
<td>Quantity</td>
<td>Cost</td>
<td>Option</td>
</tr>
</HeaderTemplate>
<ItemTemplate >
<tr>
<td><asp:CheckBox ID="CheckBoxDelete" runat="server" /></td>
<td><asp:Label ID="lblid" Visible ="false" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"id") %>' ></asp:Label>
<asp:Image ID ="imagei" runat ="server" Width ="100px" Height ="100px" ImageUrl ='<%# DataBinder.Eval(Container.DataItem,"imagepath") %>' /></td>
<td><asp:Label ID="Label1" Visible ="true" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"productid") %>' ></asp:Label></td>
<td><asp:Label ID="emailid" Visible ="true" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"emailid") %>' ></asp:Label></td>
<td><asp:Label ID="size" Visible ="true" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"ssize") %>' ></asp:Label></td>
<td><asp:Label ID="color" Visible ="true" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"color") %>' ></asp:Label></td>
<td><asp:Label ID="price" Visible ="true" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"price") %>' ></asp:Label></td>
<td><asp:Label ID="quantity" Visible ="true" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"quantity") %>' ></asp:Label>
<asp:TextBox ID="txtName" BackColor="#d4d0c8" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "quantity")%>' Visible="false"></asp:TextBox></td>
<td><asp:Label ID="totalcost" Visible ="true" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"totalcost") %>' ></asp:Label></td>
<td ><asp:LinkButton ID="lnkEdit" runat="server" CommandName="edit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id") %>'>Edit</asp:LinkButton>
<asp:LinkButton Visible="false" ID="lnkUpdate" runat="server" CommandName="update" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id") %>'>Update</asp:LinkButton>
<asp:LinkButton Visible="false" ID="lnkCancel" runat="server" CommandName="cancel" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id") %>'>Cancel</asp:LinkButton>
<asp:LinkButton ID="lnkDelete" runat="server" CommandName="delete" OnClientClick='javascript:return confirm("Are you sure you want to delete?")'
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id") %>'>Delete</asp:LinkButton></td>
</tr>
</ItemTemplate>
<FooterTemplate>
<tr>
<td>
Total
</td>
<td>
<asp:Label ID="lblTotal" runat="server">0</asp:Label>
</td>
</tr>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:LinkButton ID="dellink" ForeColor="Black" runat="server"
OnClientClick='javascript:return confirm("Are you sure you want to delete?")'
onclick="dellink_Click">Delete Selected</asp:LinkButton>
Client side code(C#)
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
using System.Web.Caching;
using System.Data.SqlClient;
public partial class shoping : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
int totalPrice = 0;
SqlDataAdapter da;
public static int SQty = 0;
protected void Page_Load(object sender, EventArgs e)
{
username.Text = Request.QueryString["emailid"].ToString();
bindrepeter();
if (Session["emailid"] == null)
{
login.Text = "Login";
}
else
{
login.Text = "Logout";
}
}
//display record//
protected void bindrepeter()
{
SqlCommand cmd = new SqlCommand("select * from cart where emailid='" + username.Text + "'", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "cart");
Repeater1.DataSource = ds;
Repeater1.DataBind();
}
//edit and update record//
protected void cpRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
LinkButton lnkUpdate = (LinkButton)e.Item.FindControl("lnkUpdate");
LinkButton lnkCancel = (LinkButton)e.Item.FindControl("lnkCancel");
LinkButton lnkEdit = (LinkButton)e.Item.FindControl("lnkEdit");
LinkButton lnkDelete = (LinkButton)e.Item.FindControl("lnkDelete");
Label totalcost = (Label)e.Item.FindControl("totalcost");
Label price = (Label)e.Item.FindControl("price");
Label lblemailid = (Label)e.Item.FindControl("emailid");
Label lblrptID = (Label)e.Item.FindControl("lblid");
TextBox txtName = (TextBox)e.Item.FindControl("txtName");
CheckBox chkDelete = (CheckBox)e.Item.FindControl("CheckBoxDelete");
if (e.CommandName == "edit")
{
lnkCancel.Visible = true;
lnkUpdate.Visible = true;
lnkEdit.Visible = false;
txtName.Visible = true;
lblemailid.Visible = false;
}
if (e.CommandName == "cancel")
{
bindrepeter();
}
if (e.CommandName == "update")
{
SqlCommand SqlCmd = new SqlCommand("update cart set quantity=@quantity where id=@ID", con);
SqlCmd.Parameters.Add("@quantity", SqlDbType.VarChar).Value = txtName.Text;
SqlCmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = e.CommandArgument;
try
{
con.Open();
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
totalPrice = totalPrice + Convert.ToInt32(((Label)e.Item.FindControl("price")).Text);
}
SqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
ex.Message.ToString();
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}
bindrepeter();
}
if (e.CommandName == "delete")
{
SqlCommand SqlCmd = new SqlCommand("delete cart where id=@ID", con);
SqlCmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = e.CommandArgument;
try
{
con.Open();
SqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
ex.Message.ToString();
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}
bindrepeter();
}
}
void Repeater1_PreRender(object sender, EventArgs e)
{
Label lblTotal = (Label)Repeater1.Controls[Repeater1.Controls.Count - 1].FindControl("lblTotal");
lblTotal.Text = totalPrice.ToString();
}
protected void dellink_Click(object sender, EventArgs e)
{
foreach (RepeaterItem Item in Repeater1.Items)
{
CheckBox chkDelete = (CheckBox)Item.FindControl("CheckBoxDelete");
Label lblrptID = (Label)Item.FindControl("lblid");
if (chkDelete.Checked)
{
SqlCommand SqlCmd = new SqlCommand("delete cart where id=@ID", con);
SqlCmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = lblrptID.Text;
SqlCmd.Connection = con;
con.Open();
SqlCmd.ExecuteNonQuery();
con.Close();
}
}
bindrepeter();
}
protected void Button1_Click(object sender, EventArgs e)
{
if (CheckBox1.Checked == true)
{
Response.Redirect("~/ddorcheque.aspx?emailid=" + username.Text);
}
if (CheckBox2.Checked == true)
{
Response.Redirect("~/cash on delivery.aspx?emailid=" + username.Text);
}
}
protected void sighup_Click(object sender, EventArgs e)
{
if (Session["emailid"] == null)
{
Response.Redirect("userregister.aspx");
}
else
{
Response.Redirect("useraccount.aspx?emailid=" + Session["emailid"].ToString());
}
}
protected void login_Click(object sender, EventArgs e)
{
if (Session["emailid"] == null)
{
Response.Redirect("userlogin.aspx");
}
else
{
Session.Abandon();
Session.Clear();
Response.Redirect("Default.aspx");
}
}
protected void account_Click(object sender, EventArgs e)
{
if (Session["emailid"] == null)
{
Response.Redirect("userlogin.aspx");
}
else
{
Response.Redirect("useraccount.aspx?emailid=" + Session["emailid"].ToString());
}
}
protected void viewcart_Click(object sender, EventArgs e)
{
if (Session["emailid"] == null)
{
Response.Redirect("userlogin.aspx");
}
else
{
Response.Redirect("useraccount.aspx?emailid=" + Session["emailid"].ToString());
}
}
}