17 Şubat 2008

SiteMap Dosyasında Kendi Bilgilerimizi Saklamak

Site navigasyon işlemlerinde kullanmak için oluşturduğumuz sitemap dosyaları bildiğiniz gibi site içindeki sayfaların hiyerarşik yapılarını saklamaktadır. url, title ve description gibi sayfa hakkında detaylı bilgileri içerisinde saklayan siteMapNode düğümlerinde istersek kendimize ait nitelikler tanımlayarak özel bilgileri de saklayabiliriz. Nasıl mı?

Olayı basite indirgemek için site haritamızda sadece 4 kategori bulunsun: ASP.NET, ADO.NET, C# ve SQL Server. Normal durumlarda bu sayfalar hakkında url ve title, bazen de description bilgilerini saklarız. İstiyoruz ki bu 4 bölümün editörlerini de site haritası dosyasında saklayalım. Yapılacak tek işlem ilgili düğümler içerisine Editor="Veli" gibi tanımlamalar yapmak olacaktır. Bir sonraki adımda sayfa içerisinden bu bilgileri okumakta yine bu kadar kolay olacak! Aşağıdaki örnekte web.sitemap dosyası ve bir sayfadan bu bilgiyi nasıl elde edeceğimiz görülmektedir.

Web.sitemap
<?xml version="1.0" encoding="windows-1254" ?>
<siteMap>
   <siteMapNode url="Default.aspx" title="Anasayfa">
     <siteMapNode url="Aspnet.aspx" title="ASP.NET" description="" Editor="Uğur UMUTLUOĞLU" />
     <siteMapNode url="Adonet.aspx" title="ADO.NET" description="" Editor="Burak BATUR" />
     <siteMapNode url="Cs.aspx" title="C#" description="" Editor="Emrah USLU" />
     <siteMapNode url="SqlServer.aspx" title="SQL Server" description="" Editor="Bülent SÖZGE" />
   </siteMapNode>
</siteMap>


Sablon.master.cs
Response.Write(SiteMap.CurrentNode["Editor"]);

Hiç yorum yok: