2016-09-02 5 views
1

Ich möchte eine Schaltfläche zum Warenkorb sichtbar machen nach dem Hinzufügen eines Produkts in den Warenkorb. Aber wenn Seite neu geladen wird zeigt es in den Warenkorb Button nurAuf Seite neu laden, "Go To Cart" -Taste nicht sichtbar

/Dies ist meine Präsentationsschicht Code/

protected void ddlimginfo_ItemCommand(object source, DataListCommandEventArgs e) 
     { 
      if (e.CommandName=="addtocart") 
      { 
       Label price = e.Item.FindControl("lblprice") as Label; 
       string prc = price.Text; 
       DateTime pdate = Convert.ToDateTime(System.DateTime.Now); 
       string postdate = (pdate.ToString("yyyy-mm-dd", CultureInfo.InvariantCulture)); 
       Button btnaddcart = e.Item.FindControl("btnaddcart") as Button; 
       Button btngocart = e.Item.FindControl("btngocart") as Button; 

       //balobj.dalCart((Session["uip"]).ToString(), Convert.ToInt32(Sessio 

n["id"]), qty, prc,pdate); 
      //DateTime existingDate =Convert.ToDateTime(balobj.getdate((Session["uip"]).ToString())); 
      //string exdate = (existingDate.ToString("yyyy-mm-dd", CultureInfo.InvariantCulture)); 
      balobj.dalCart(Convert.ToString(Session["uip"]), Convert.ToInt32(Session["id"]), 1, prc, pdate); 
      if ((Session["uip"]) != null) 
      { 

       Session["count"] = balobj.cartcount((Session["uip"]).ToString()); 
       DataTable dt = new DataTable(); 
       dt = balobj.balgocart(Convert.ToString(Session["uip"]), Convert.ToInt32(Session["id"])); 

       if (dt.Rows.Count > 0) 
       { 

        //Session["count"] = balobj.cartcount((Session["uip"]).ToString()); 
        btnaddcart.Visible = false; 
        btngocart.Visible = true; 
        Response.Redirect("infoproduct.aspx"); 

       } 
       else 
       { 

        //Session["count"] = balobj.cartcount((Session["uip"]).ToString()); 
        btnaddcart.Visible = true; 
        btngocart.Visible = false; 
        Response.Redirect("infoproduct.aspx"); 

       } 
       //Response.Write(Session["count"]); 
       //Response.End(); 
       //Response.Redirect("infoproduct.aspx"); 
      } 

/Das ist mein BAL Code/

//Go to cart button visible 
     public DataTable balgocart(string uip, int proid) 
     { 

      try 
      { 
       return dalobj.dalgocart(uip, proid); 
      } 
      catch 
      { 
       throw; 
      } 
      finally 
      { 
       dalobj = null; 
      } 

     } 

/Dies ist mein DAL-Code/

//Code to visible button go to cart 
     public DataTable dalgocart(string uip, int proid) 
     { 

      MySqlConnection con = new MySqlConnection(str); 

      try 
      { 
       con.Open(); 
       MySqlCommand cmd = new MySqlCommand("spbtngocart", con); 
       cmd.CommandType = CommandType.StoredProcedure; 
       cmd.Parameters.AddWithValue("spuip", uip); 
       cmd.Parameters.AddWithValue("spproid", proid); 

       MySqlDataAdapter da = new MySqlDataAdapter(cmd); 
       DataTable dt = new DataTable(); 
       da.Fill(dt); 
       return dt; 


      } 
      catch (Exception ex) 
      { 

       throw ex; 

      } 
      finally 
      { 
       con.Close(); 
      } 

     } 
+0

Was macht Ihr 'spbtngocart' tun und zurück zu machen? –

+0

DELIMITER // CREATE PROCEDURE spbtngocart (IN spuip VARCHAR (30), IN sppproid BIGINT) BEGIN SELECT * FROM Warenkorb WHERE userip = spuip UND productid = spproid; END // DELIMITER – Prady

+0

Können Sie versuchen, die Steuerung erneut zu binden? –

Antwort

1

Sie müssen nur die Kontrolle rebind nach Änderungen wie

DataList1.DataBind(); 
+0

yup ... Ich habe es – Prady

Verwandte Themen