Ne arayalım?

ARAMIZA KATILIN

BÄ°ZE ULAÅžIN

Adres:

E-posta:

host/bin/bilisimlife.dll

iletisim@bilisimlife.net




 
Burçin
Yazılımcı
       
 0  
 0

Asp.net Sepet Uygulaması

Ben bir ASP.Net E-ticaret sitesi yapıyorum, fakat sepeteat buton içeriğini ve kullanıcı veya oturum bazlı sepetdetay sayfasını yazamadım, bana yardımcı olabilirmisiniz??

Imza yok!


 
Burçin
Yazılımcı
       
 0  
 0

Bana acil yardım edebilirmisiniz, hepsi karıştı birbirine

Imza yok!

 
Burçin
Yazılımcı
       
 0  
 0

Acaba üyegiriş.aspx sayfamdamı sorun var? çünkü üyegirişi yaptıktan sonra sepete ekleyeceğine tekrar başa dönüp işleme anasayfadan başlıyor??

Imza yok!

 
Rserit
Developer
       
 1026  
 278

 Burçin şunu dedi:
  SqlConnection cnn; protected void Page_Load(object sender, EventArgs e) { cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionWind"].ConnectionString); if(!Page.IsPostBack) { return; } } protected void Button1_Click(object sender, EventArgs e) { cnn.Open(); SqlCommand cmd = new SqlCommand("select * from Kullanıcı where KullanıcıAdı=@kadi and Sıfre=@sifre", cnn); cmd.Parameters.AddWithValue("@kadi", txtBox1.Text); cmd.Parameters.AddWithValue("@sifre", txtBox2.Text); SqlDataReader dr = cmd.ExecuteReader(); if(dr.Read()==true) { Session["KullanıcıID"] = dr["ID"]; Session["AdSoyad"] = dr["KullanıcıAdı"]; Response.Redirect("Anasayfa.aspx"); } else { lblGiris.Visible = true; lblGiris.Text = "E-Mail ya da Parola yanlış girildi"; lblGiris.ForeColor = System.Drawing.Color.DarkRed; } cnn.Close(); } yukarıdaki kodda üyegiriş sayfam, sizin dediğiniz kodu sepete at butonun click indemi yazıcam?

Onur'un dediği doğru.

Kodlarda:


Session["KullanıcıID"] = dr["ID"]


Yeri geçiyor. Yani zaten Session'da ID'yi aldırmışsın. Ekstra bir şey yapmana gerek yok. O halde Onur'un dediği gibi yapmana gerek yok çünkü zaten "aldırmışsın".

Ama adını başka yerlerde farklı kullanmışsın.


Session["ID"] = dr["ID"]


şeklinde yap.

Developer.

 
Burçin
Yazılımcı
       
 0  
 0

dediğiniz şekilde üyegiriş .aspx te Session["ID"] = dr["ID"] yaptım, fakat sepete at butonuna tıklayınca sadece veritabanına atıyor orası tamam ama sepete ekledğim ürünü sepete at butonuna tıklayınca sepetdetay.aspx e yönlendirip orda görmek istiyorum, nasıl yapabilirim?? sepetdetay.aspx sayfam şu; SqlConnection cnn; protected void Page_Load(object sender, EventArgs e) { cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionWind"].ConnectionString); if (IsPostBack) return; SepetGetir(); } private void SepetGetir() { if(Session["sepet"] !=null) { cnn.Open(); SqlDataAdapter da = new SqlDataAdapter("select s.ID,ü.ÜrünAdi,ü.Fiyat,ü.Stok,s.Adet from Ürün ü join Sepet s on ü.ID=s.ÜrünID", ConfigurationManager.ConnectionStrings["ConnectionWind"].ConnectionString); DataTable dt = new DataTable(); da.Fill(dt); dt = ataTable)Session["sepet"]; DataList1.DataSource = dt.DefaultView; DataList1.DataBind(); cnn.Close(); } } protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) { if(e.CommandName.ToString()=="sil") { Sil(e.CommandArgument.ToString()); SepetGetir(); } } public void Sil(string ID) { DataTable dt = new DataTable(); if(HttpContext.Current.Session["sepet"] !=null) { dt = ataTable)HttpContext.Current.Session["sepet"]; for (int i = 0; i < dt.Rows.Count; i++) { if(dt.Rows["ID"].ToString()==ID) { dt.Rows.Delete(); HttpContext.Current.Session["sepet"] = dt; break; } } } } protected void btnSiparis_Click(object sender, EventArgs e) { ifataList1 == null) { SepetGetir(); } else { Response.Redirect("Adres.aspx"); } }

Imza yok!

 
Usurname
Öğrenci
       
 25  
 54

Veritabanına ekliyorsa sorun ne?

Noname.

 
Rserit
Developer
       
 1026  
 278

 Burçin şunu dedi:
 dediğiniz şekilde üyegiriş .aspx te Session["ID"] = dr["ID"] yaptım, fakat sepete at butonuna tıklayınca sadece veritabanına atıyor orası tamam ama sepete ekledğim ürünü sepete at butonuna tıklayınca sepetdetay.aspx e yönlendirip orda görmek istiyorum, nasıl yapabilirim?? sepetdetay.aspx sayfam şu;

 SqlConnection cnn;
        protected void Page_Load(object sender, EventArgs e)
        {
            cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionWind"].ConnectionString);
            if (IsPostBack) return;
                SepetGetir();
        }
     
        private void SepetGetir()
        {
            if(Session["sepet"] !=null)
            {
                cnn.Open();
                SqlDataAdapter da = new SqlDataAdapter("select s.ID,ü.ÜrünAdi,ü.Fiyat,ü.Stok,s.Adet from Ürün ü join Sepet s on ü.ID=s.ÜrünID", ConfigurationManager.ConnectionStrings["ConnectionWind"].ConnectionString);
                DataTable dt = new DataTable();
                da.Fill(dt);
                dt = <img src=../Resimler/Smiley/7.gif>ataTable)Session["sepet"];
                DataList1.DataSource = dt.DefaultView;
                DataList1.DataBind();
                cnn.Close();
            }
        }
        protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
            if(e.CommandName.ToString()=="sil")
            {
                Sil(e.CommandArgument.ToString());
                SepetGetir();
            }
        }
        public void Sil(string ID)
        {
            DataTable dt = new DataTable();
            if(HttpContext.Current.Session["sepet"] !=null)
            {
                dt = <img src=../Resimler/Smiley/7.gif>ataTable)HttpContext.Current.Session["sepet"];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if(dt.Rows<i>["ID"].ToString()==ID)
                    {
                        dt.Rows<i>.Delete();
                        HttpContext.Current.Session["sepet"] = dt;
                        break;
                    }
                }
            }
        }
        protected void btnSiparis_Click(object sender, EventArgs e)
        {
            if<img src=../Resimler/Smiley/7.gif>ataList1 == null)
            {
                SepetGetir();
            }
            else
            {
                Response.Redirect("Adres.aspx");
            }
        }



SepetDetay.aspx'e değil, Sepete At butonun altına insert işlemi yaptıktan sonra Redirect yazman lazım. Yani şöyle:



// sen şu komutu yazmışsın

cnn.Open();
SqlCommand com = new SqlCommand("Insert into Sepet(KullanıcıID, ÜrünID, Adet) values ('"+Session["ID"]+"', '"+Request.QueryString["UrunID"]+"', '"+txtAdet.Text+"'", cnn);
com.ExecuteNonQuery();
cnn.Close();

// buraya Redirect yapılacak, aşağıdaki gibi

Repsonse.Redirect("SepetDetay.aspx");



Sepete attıktan sonra SepetDetay'a yönlenecektir.

Developer.

 
Burçin
Yazılımcı
       
 0  
 0

o şekilde yaptım fakat sepetdetay.aspx te datalist gözükmüyor sadece sipariş butonu gözüküyor

Imza yok!
Toplam 4 sayfadan 2. sayfadasınız
   1  2  3  4