08 December 2016

Blog Projesi 7: Kategori Sayfalarını Oluşturma

Bir adet yeni sayfa oluşturalim, adi Kategoriler.aspx olsun. Tasarımı Default sayfası ile aynı olacak.

Metodu BlogDBContext içine yazalım:

public static List<Makale> IDyeGoreMakaleGetir(int kategoriID)
 {
 List<Makale> gelenMakaleler = new List<Makale>();
 SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["WeblogCon"].
 ConnectionString);
 SqlCommand sqlcmd = new SqlCommand("select m.MakaleID,MakaleBaslik,MakaleIcerik,
 MakaleEklenmeTarihi from Makale as m inner join MakaleKategori as mk on m.MakaleID=mk.MakaleID
 where KategoriID=@kategoriID order by MakaleEklenmeTarihi desc", sqlcon);
 sqlcmd.Parameters.AddWithValue("@kategoriID", kategoriID);
 sqlcon.Open();
 SqlDataReader sdr = sqlcmd.ExecuteReader();
 while (sdr.Read())
 {
 Makale m = new Makale();
 m.MakaleID = Convert.ToInt32(sdr[0]);
 m.MakaleBaslik = sdr[1].ToString();
 m.MakaleIcerik = MakaleOzetGetir(sdr[2].ToString());
 m.MakaleEklenmeTarihi = Convert.ToDateTime(sdr[3]);
 gelenMakaleler.Add(m);
 }
 sqlcon.Close();
 return gelenMakaleler;
 }

Kategoriler.aspx.cs kodları

protected void Page_Load(object sender, EventArgs e)
 {
 rptMakaleler.DataSource = BlogDBContext.IDyeGoreMakaleGetir
 (Convert.ToInt32(Request.QueryString["cid"]));
rptMakaleler.DataBind();
 }

Daha önce Site1.Master sayfasında sidebar kısmında Kategori Başlıkları getirmiştik. Şimdi kategorilere tıklandığında uygun kategori sayfasına gidilmesini sağlayalım:

<li><a href='Kategoriler.aspx?cid=<%#Eval("KategoriID") %>' title='<%#Eval("KategoriAciklama") %>'><%#Eval("KategoriAdi") %></a></li>

Comments

  1. sqldataread da hata veriyor neden acaba??

  2. Muzaffer says:

    umut verdiği kod doğru.. hata vermiyor..

  3. söylediğin şekilde yazdığımda kod patlıyor hata veriyor. yanlış söylemiş olabilirmısın umut

  4. yanlış söylemiş olabirmisin acaba söylediğin şekilde yapınca patlıyor ırada

  5. merhaba;
    <a href='Kategoriler.aspx?cid=’ title=”> şu kodu tam olarak nereye ekleyeceğim

    • umut aykut says:

      Osman durum şöyle ki nereye yazacağım diye arandığın kod satırını site1 Master içinde side bar ın kategori bölümünde bulunan repeater arasındakı kodları sil ve <a href='Kategoriler.aspx?cid=’ title=”> bu kod satırını yapıstır.

  6. Merhaba;

    Kategoriler sayfasında veriler gelmiyor Request.QueryString[“cid”])); heryerde yid olarak kullandık burada cid ondan olabilirmi bakabilirmisiniz