Dinamik meta tag ekleme

ASP.NET sayfalarımızda meta tagları dinamik olarak eklemenin alternatif bir yolunu göstermeye çalışacağım

Dinamik Meta Tag Ekleme

Önceki yazılarımda "Meta Tag Nedir?" konusunu işlemiştik.

Bu yazımda ise, ASP.NET sayfalarımızda meta tagları dinamik olarak eklemenin alternatif bir yolunu göstermeye çalışacağım.

Önce klasik yöntemden bahsedeyim:

HtmlMeta meta = new HtmlMeta();
meta.Attributes.Add("name", "keywords");
meta.Attributes.Add("content", "anahtar1, anahtar2, anahtar3, ...");
Header.Controls.Add(meta);

ancak her nedense bu yöntemle hep sıkıntılar yaşadım, sıkıntıyı da çözmekte oldukça zorluk çektim. Ben de kolları sıyırdım, başka bir yol geliştirdim kendime. Sırasıyla anlatmaya çalışayım:

Önce web.config te bilgilerimizi appSettings altına yerleştirelim:

<appSettings>
  <add key="META_description" value="İSTEDİĞİNİZ BİLGİLER"/>
  <add key="META_keywords" value="İSTEDİĞİNİZ BİLGİLER"/>
</appSettings>

Bu bilgileri elde etmek için bir tane sınıf ekliyorum:

public class Config
{
  public static readonly string META_description = ConfigurationManager.AppSettings["META_description"].ToString();
  public static readonly string META_keywords = ConfigurationManager.AppSettings["META_keywords"].ToString();
}

Masterpage ime şu satırları ekliyorum:

<head id="Head1" runat="server">
...
<meta name="description" content="<%# Config.META_description %>" />
<meta name="keywords" content="<%# Config.META_keywords + ", Devrim ALTINKURT"%>" />
...

Son olarak da masterpage in page_load olayında bu bilgileri bind ediyorum:

 protected void Page_Load(object sender, EventArgs e)
{
...
  this.DataBind();
...

Sanki veritabanından bilgileri DataListe DataBind() ediyormuş gibi :)

Siz dilerseniz, Config.cs teki değişkenleri başka türlü düzenleyebilirsiniz. (Veritabanından getirirsiniz, vb.)

Güle güle kullanın.