Çok sevdiğim bir arkadaşım uzun bir bocalama zamanından sonra
bana bu problemle geldi.Bu sorunla karşılaşan arkadaşlar bocalamasın
diye yazayım dedim.
Projenize Add Items dan SiteMap dosyası ekleyin ve değerlerinizi yazın; ör:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="root.aspx" title="root" description="">
<siteMapNode url="1.aspx" title="1 menü" description="">
<siteMapNode url="1a.aspx" title="1a menü" description="" />
<siteMapNode url="1b.aspx" title="1a menü" description="" />
</siteMapNode>
<siteMapNode url="2.aspx" title="2 menü" description="">
<siteMapNode url="2a.aspx" title="2a menü" description="" />
</siteMapNode>
</siteMapNode>
</siteMap>
ASP.NET sayfanıza SiteMapDataSource ve Menü kontrollerini ekleyin.
<div>
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
</asp:Menu>
</div>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
</form>
Projenizi çalıştırdığınızda sadece bir root menüsü göreceksiniz.Peki
root 'un yanına bir menü seçeneği daha eklemek isterseniz ne yapmanız
gerekir? SiteMap dosyasina <SiteMap> tagı arasına 1 tane daha
<SiteMapNode> ekleyelim?
Ne yazıkki hayır.Vs2k5 size derlemeye çalıştığınızda hata
verecektir.Çünkü <SiteMap> tag'inin arasında sadece 1 tane
<SiteMapNode> a izin verilir.Bu sorunu aşmak için yapmaniz
gereken çok basit.
Sayfanızdaki SiteMapDataSource kontrolüne ait tag'a bir özellik ekleyeceksiniz,
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/>
ShowStartingNode="false"
Artık root menü de gözükmeyecek 1 ve 2 görüntülenecektir.
ShowStartingNode="false" dan önce;
ShowStartingNode="false" dan sonra;