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??
Burçin şunu dedi: O şekilde yaptığım halde bile gelmiyor, ben bir de sepetdetay.aspx in sayfa tasarımı kodlarını göndereyim size;
Mesaj 09.12.2015 12:01:14 tarihinde Burçin tarafından düzenlenmiştir. |
Bak sorgunda ÜrünAdi diye çağırmışsın; ama tasarım tarafında repeater'da Eval("UrunAdı") yazmışsın. Haliyle gelmemesi normal değil mi?
aşağıdaki kod visual basic dilinde yazılmış, acaba c# diline çevirebilirmisiniz? Dim baglan As New OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" & Server.MapPath("app_data/vt.accdb")) Protected Sub fiyattt() If Session("giris") = Nothing Then Response.Redirect("Default.aspx") End If Dim adp As New OleDbDataAdapter("select * from sepet", baglan) Dim tablo As New DataTable adp.Fill(tablo) Dim fiyat As Integer For Each satir In tablo.Rows Session("fiyat") = satir(2) fiyat = fiyat + Session("fiyat") Session("urunno") = satir(6) Session("fiyat2") = fiyat Next Label2.Text = Session("fiyat2") End Sub Protected Sub sayfayukle() Response.Redirect("sepetim.aspx") End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("giris") = Nothing Then Response.Redirect("Default.aspx") End If Dim adp As New OleDbDataAdapter("select * from sepet", baglan) Dim tablo As New DataTable adp.Fill(tablo) Dim fiyat As Integer For Each satir In tablo.Rows Session("fiyat") = satir(2) fiyat = fiyat + Session("fiyat") Session("urunno") = satir(6) Session("fiyat2") = fiyat Next Label2.Text = Session("fiyat2") fiyattt() End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Visible = False Label2.Visible = False Label3.Visible = False Button1.Visible = False GridView1.Visible = False Label4.Text = "siparişiniz alınmıştır" Dim adp4 As New OleDbDataAdapter("select * from sepet", baglan) Dim tablo4 As New DataTable adp4.Fill(tablo4) For Each satir4 In tablo4.Rows Session("urunno4") = satir4(6) baglan.Open() Dim adp2 As New OleDbDataAdapter("select stok from urunler where urunno='" & Session("urunno4") & "'", baglan) Dim tablo2 As New DataTable adp2.Fill(tablo2) baglan.Close() For Each satir2 In tablo2.Rows Session("stok") = satir2(0) Session("stok") = Session("stok") - 1 baglan.Open() Dim cmd As New OleDbCommand cmd.Connection = baglan cmd.CommandText = "update urunler set stok='" & Session("stok") & "' where urunno='" & Session("urunno4") & "'" cmd.ExecuteNonQuery() baglan.Close() baglan.Open() Dim cmnd As New OleDbCommand cmnd.Connection = baglan cmnd.CommandText = ("delete * from sepet") cmnd.ExecuteNonQuery() baglan.Close() Next baglan.Open() Dim cmd6 As New OleDbCommand cmd6.CommandText = "insert into siparis(ad,soyad,adres,urunno)values(@ad,@soyad,@adres,@urunno)" cmd6.Connection = baglan cmd6.Parameters.Add("@ad", OleDbType.VarChar).Value = Session("ad") cmd6.Parameters.Add("@soyad", OleDbType.VarChar).Value = Session("soyad") cmd6.Parameters.Add("@adres", OleDbType.VarChar).Value = Session("adres") cmd6.Parameters.Add("@urunno", OleDbType.VarChar).Value = Session("urunno4") cmd6.ExecuteNonQuery() baglan.Close() Next End Sub Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) fiyattt() End Sub
Burçin şunu dedi: aşağıdaki kod visual basic dilinde yazılmış, acaba c# diline çevirebilirmisiniz? Dim baglan As New OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" & Server.MapPath("app_data/vt.accdb")) Protected Sub fiyattt() If Session("giris") = Nothing Then Response.Redirect("Default.aspx") End If Dim adp As New OleDbDataAdapter("select * from sepet", baglan) Dim tablo As New DataTable adp.Fill(tablo) Dim fiyat As Integer For Each satir In tablo.Rows Session("fiyat") = satir(2) fiyat = fiyat + Session("fiyat") Session("urunno") = satir(6) Session("fiyat2") = fiyat Next Label2.Text = Session("fiyat2") End Sub Protected Sub sayfayukle() Response.Redirect("sepetim.aspx") End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("giris") = Nothing Then Response.Redirect("Default.aspx") End If Dim adp As New OleDbDataAdapter("select * from sepet", baglan) Dim tablo As New DataTable adp.Fill(tablo) Dim fiyat As Integer For Each satir In tablo.Rows Session("fiyat") = satir(2) fiyat = fiyat + Session("fiyat") Session("urunno") = satir(6) Session("fiyat2") = fiyat Next Label2.Text = Session("fiyat2") fiyattt() End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Visible = False Label2.Visible = False Label3.Visible = False Button1.Visible = False GridView1.Visible = False Label4.Text = "siparişiniz alınmıştır" Dim adp4 As New OleDbDataAdapter("select * from sepet", baglan) Dim tablo4 As New DataTable adp4.Fill(tablo4) For Each satir4 In tablo4.Rows Session("urunno4") = satir4(6) baglan.Open() Dim adp2 As New OleDbDataAdapter("select stok from urunler where urunno='" & Session("urunno4") & "'", baglan) Dim tablo2 As New DataTable adp2.Fill(tablo2) baglan.Close() For Each satir2 In tablo2.Rows Session("stok") = satir2(0) Session("stok") = Session("stok") - 1 baglan.Open() Dim cmd As New OleDbCommand cmd.Connection = baglan cmd.CommandText = "update urunler set stok='" & Session("stok") & "' where urunno='" & Session("urunno4") & "'" cmd.ExecuteNonQuery() baglan.Close() baglan.Open() Dim cmnd As New OleDbCommand cmnd.Connection = baglan cmnd.CommandText = ("delete * from sepet") cmnd.ExecuteNonQuery() baglan.Close() Next baglan.Open() Dim cmd6 As New OleDbCommand cmd6.CommandText = "insert into siparis(ad,soyad,adres,urunno)values(@ad,@soyad,@adres,@urunno)" cmd6.Connection = baglan cmd6.Parameters.Add("@ad", OleDbType.VarChar).Value = Session("ad") cmd6.Parameters.Add("@soyad", OleDbType.VarChar).Value = Session("soyad") cmd6.Parameters.Add("@adres", OleDbType.VarChar).Value = Session("adres") cmd6.Parameters.Add("@urunno", OleDbType.VarChar).Value = Session("urunno4") cmd6.ExecuteNonQuery() baglan.Close() Next End Sub Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) fiyattt() End Sub |
Mesele bunu C#'a çevirmek değil. Sorunumuz Datalist'e verileri getirmek. Neden getirmediğimizin hatasını araştırmak. Bunu çevirsek de pek faydası olmaz. Verileri çekip session'a atan kodlar var buradaç
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
Burçin şunu dedi: 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 |
Burçin, anlıyorum ki yeni öğreniyorsun. Ama bu şekilde kod verip nerede hata var diyerek öğrenilmez. Sana önerim breakpoint kullanmasını biliyorsan, onu kullan. Ardından "hatanın ne olduğunu" söyle. Bu yeterli. Bir çözüm önerdiğimizde de onu uygula. Bu şekilde uğraşırsan çok daha verimli olur.