ASP.NET Uygulamalarında Birden Fazla Sitemap Dosyası Kullanma

ASP.NET Uygulamalarında Birden Fazla Sitemap Dosyası KullanmaASP.NET uygulamalarında navigasyon kontrollerini SiteMapDataSource ile birlikte kullandığımızda sadece bir tane sitemap dosyası kullanılabilmekteyiz. Bu durumun sebebi uygulamalarındaki web.config dosyasının miras alarak kullandığı .NET Framework'ün kurulu olduğu dizindeki web.config dosyasında sadece bir tane SiteMap sağlayıcısı (provider) tanımlamasının yapılmasıdır. .NET Framework 2.0 kurulu bir makinada C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG dizininde bulunan web.config dosyasındaki <siteMap> düğümüne bakacak olursanız tanımlanan tek bir provider'ın olduğunu ve bununda siteMapFile niteliğinde web.sitemap dosya isminin olduğunu görebilirsiniz. Aslında buradan yola çıkarak birden fazla sitemap dosyasını nasıl kullanabileceğimizi çözümleyebiliriz. Uygulamamıza ikinci bir sitemap dosyası eklemek ve navigasyon kontrolleri ile birlikte kullanmak istersek öncelikli olarak uygulamadaki web.config dosyasına yeni bir siteMap provider tanımlaması yapmamız gerekecektir. Aşağıda web.config dosyamızın <system.web> kısmına ekleyeceğimiz kodlar bulunmaktadır.


web.config
<system.web>
...
    <siteMap>
      <providers>
         <add name="SiteMapProvider2" siteMapFile="web2.sitemap" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
   </siteMap>
</system.web>

SiteMapProvider2 adında web2.sitemap isimli dosya ile çalışacak yeni bir siteMap sağlayıcısı tanımladık. Bu uygulama içerisinde artık web.sitemap dışında web2.sitemap isimli bir site haritası dosyası da kullanabiliriz. Bir ASP.NET sayfasına iki tane Menu kontrolü ve iki tane SiteMapDataSource kontrolü ekleyerek birden fazla sitemap dosyası kullanımını test ediyoruz. Burada dikkat edeceğimiz nokta web2.sitemap isimli dosyamıza bağlanacak olan SiteMapDataSource kontrolünde SiteMapProvider özelliğini web.config'de tanımladığımız SiteMapProvider2 isimli sağlayıcıya eşitlemek olacaktır.


Default.aspx
<asp:Menu ID="Menu1" runat="server" BackColor="#B5C7DE" DataSourceID="SiteMapDataSource1" Font-Names="Verdana" Font-Size="12px">
</asp:Menu><br />
<asp:Menu ID="Menu2" runat="server" BackColor="#E3EAEB" DataSourceID="SiteMapDataSource2" Font-Names="Verdana" Font-Size="12px">
</asp:Menu>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False" />
<asp:SiteMapDataSource ID="SiteMapDataSource2" runat="server" ShowStartingNode="False" SiteMapProvider="SiteMapProvider2" />
25 Şubat 2008 Pazartesi 19:06

Yorum - RSSYorumlar (3)

Etiket: ,
Kategori: ASP.NET

facebook'da Paylaş   twitter'da Paylaş   friendfeed'de Paylaş   del.icio.us'da Paylaş   stumpleupon'da Paylaş   Permalink

Yorumlar

Yorum ekle


 

biuquote
  • Yorum
  • Canlı önizleme
Loading




Bağlantılar



Takip Et

RSS Feed twitter friendfeed

Seminer/Webiner Programım

  • Seminer-WebinerASP.NET 4.0 WebForms Yenilikleri (Microsoft İstanbul Ofisi)
    29 Mayıs 2010

  • Seminer-WebinerVisual Studio 2010 Yenilikleri (Osmangazi Üniversitesi)
    15 Mayıs 2010

  • Seminer-WebinerASP.NET AJAX ile Zengin Internet Uygulamaları Geliştirme (Microsoft İstanbul Ofisi)
    3 Mayıs 2010

>> Etkinlik Takvimi