Asp.Net’de Dinamik MetaTag




Günümüzde web siteleri arasındaki keywords ve description gibi kelimeler adeta arama mottoru tabanlı bir savaş haline geldi.Dinamik Web Uygulamarında çoğu zaman keywords,title yada description gibi meta tagleri veritabanından çekip,biraz daha etkin kullanmak hepimizin yaptığı bir atak diyebiliriz.Bununla ilgili bir örneği C# tarafında GenericList koleksiyonunu etkin kullanarak bir örnekle belirtmeye çalışacağım.

//Mssql Tarafında SiteAyarlari adında bir tablom var ve c# tarafında bu tablolara karşılık gelen yine SiteAyarlari
adında bir Classım var.Ben burda Linq To Sql ORM yapısını kullanarak yaptım.Custom bir class yada farklı bir ORM kullanılabilir.Static bir metot yazıyorum ve geriye SiteAyarlari tipinden Generic List döndürsün.Heryerden erişebilmek adına metodumu static yaptım.

public static List<SiteAyarlari> GetSiteAyarlari()
     {
	//linqtoSql kullandığım  için DataContext nesnemi tanımlıyorum.
         veriDataContext data=new veriDataContext();
         var siteayarlari = from site in data.SiteAyarlaris
                            select site;
         return siteayarlari.ToList();
     }
 
 
//yukarıda yazdığımız metodu tüm sayfalarda kullanabileceğiz.
 
 if (!Page.IsPostBack)
        {
        //ilgili sayfamın Page_Load eventında SiteAyarlari tipinden generic list koleksiyon tanımlıyorum ve yazdığım metodda geriye SiteAyarlari tipinden generic List döndürdüğü için burada ilgili koleksiyona metodu verebiliyorum.
            List<SiteAyarlari> ayarlar = new List<SiteAyarlari>();
            ayarlar = GetSiteAyarlari();
 	   //ilgili nesnemin içerisinde var tipinden dönerek içerisindeki property'leri alabiliyorum ki bunların hepsi aslında sql tarafındaki tablomda column(kolon) olarak var.dolyısı ile gelecek olan veriler benim veritabanına girdiğim veriler.
            foreach (var item in ayarlar)
            {
		//HtmlMeta nesnesi oluşturuyorum.
                HtmlMeta description = new HtmlMeta();
		//ilgili nesneyi header kontrolüne ekliyorum.
                Header.Controls.Add(description);
		//artık ilgili nesne üzerinde meta taglar oluşturabiliyorum
                description.Name = "description";
		//ve bu meta taglara değer verebiliyorum.bu arada değer veritabanındakı Description kolonundan Classımızın property'si sayesinde geliyor.
                description.Content = item.Description.ToString();
		//aynı şekilde keywords içinde yeni bir HtmLMeta nesnesi oluşturup aynı adımları uyguluyorum.bu örnekler çoğaltılabilir.	
                HtmlMeta keywords = new HtmlMeta();
                Header.Controls.Add(keywords);
                keywords.Name = "keywords";
                keywords.Content = item.Keywords.ToString();
 
            }
 
        }

Ayrıca Ürfet Demirtaş’ın şu makalesinede bakabilirsiniz.


  • Facebook
  • FriendFeed
  • Twitter
  • Google
  • Live
  • LinkedIn


Mustafa Ülkü
ASP.net ile ilgili teknolojileri son sürat takip eden ve yenilikleri öğrenmek için ne gerekiyorsa yapan, yeri geldiğinde masaüstü yazılım bile hazırlayabilme cesaretini gösteren bir programcıdır kendisi. Her yazılımcı gibi kodlarla boğuşmaktan geceleri gözüne uyku girmeyen ve kafasına takıldı mı sorunları çözmekten geri durmayıp çözene kadar üzerine üzerine giden bir kişiliği vardır.

Bir yorum yaz.


© 2011 Mustafa Ülkü'nün Not Defteri. Her hakkı saklıdır..
İmkansız diye bir şey yoktur..