Evet arkadaslar Asp.NET “Sitemap” yazımıza kaldığımız yerden devam edelim. Sitemap yazısında Asp.NET sitemap hakkında genel bilgileri vermiştim. Şimdi sıra teknik bilgilerde...
Her dosyada oldguğu gibi Asp.NET Sitemap dosyasına da ilk imlerden başlıyoruz. Bu ilk imler; XML dosyaları için standarttır ve aşağıdaki kodda gösterildiği gibi versiyonu ve XMLNS’i belirler.
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
Visual Studio.NET ile, kök dizine şablon site haritasından bir öğe eklediğinizde, bu iki satır sizin yerinize otomatik olarak yazılır. Düğüm isimleri basittir. <siteMapNode> imlerini içeren imlerinin bütün nitelikleri karakter kadarıdır):
► Title: Sayfayı belirler. (Aynı değere sahip olabilse de, sayfanın üst bilgisinde yer alan <Title> imine bağlı değildir.)
► URL: Bu düğümde belirtilen sayfanın yeri.
► Description: Sayfanın açıklamasını içerir.
Bir URL’in bir sorgu katarı (query string) verisi içerebileceğine dikkat edin. Bu, sayfanın görüntülenmesine yönelik talebin bir parçası olarak gönderilen URL katarının sonunda tanımlanan bir ek bilgidir. Örneğin, belirli bir sayfa için genel bir referans aşağıdaki kodun ilk satırına benzer olabilir. Ancak sayfa için veri içeren (örneğin takvimde görüntülenecek ayı içeren) bir referans 3. Satıra benzer olacaktır :
url="Takvim.aspx"
url="Takvim.aspx?Ay=Mayis"
Site haritasında listelenen sayfaların hiyerarşisi ebeveyn düğümünün açılış ve kapanış imlerinin arasına bir çocuk düğümün yerleştirilmesiyle sağlanır…
Sizin için örnek bir Asp.NET web.sitemap dosyası hazırladım demek isterdim ama zamanım çok kısıtlı J onun yerine hazır bir tane buldum. Aşağıdaki Asp.NET web.sitemap dosyasınını inceleyip hiyerarşisini iyice analamınızı öneririm…
[code:c#]
class="MsoNormal">"2"> <siteMapNode title="Players" url="Players.aspx"
description="The Squad" />
<siteMapNode title="Match Reports" url="MatchReports.aspx"
description="Read match reports from our favourite reporters" />
<siteMapNode title="League Table" url="LeagueTable.aspx"
description="View our current standing in the league" />
<siteMapNode title="Scorers" url="Scorers.aspx"
description="View our top scorers in the league" />
<siteMapNode title="Shop" url="Shop.aspx"
description="Visit the shop" />
<siteMapNode title="Gallery" url="Gallery.aspx"
description="Pictures and movies of the team in action" />
<siteMapNode title="Fan Club" url="FanClub.aspx">
<siteMapNode title="Add Match Report" url="FanClub/FanClubMatchReport.aspx"
description="Add a match report"
roles="FanClubMember" />
<siteMapNode title="Upload Pictures" url="FanClub/FanClubPictures.aspx"
description="Upload pictures or video of a match"
roles="FanClubMember" />
</siteMapNode>
<siteMapNode title="About" description="About the club" url="about.aspx">
<siteMapNode title="History" url="History.aspx"
description="The history of the club" />
<siteMapNode title="News" url="News.aspx"
description="News Archive" />
<siteMapNode title="Mishaps" url="Mishaps.aspx"
description="The mishaps of Wrox United" />
<siteMapNode title="The Site" url="AboutTheSite.aspx"
description="Who, what and why" />
</siteMapNode>
<siteMapNode title="Administration" url="Admin/Admin.aspx"
roles="Reporter,Owner,Manager,Administrator">
<siteMapNode title="Edit News" url="Admin/EditNews.aspx"
description="Edit club news"
roles="Reporter,Owner,Manager,Administrator" />
<siteMapNode title="Schedule Match" url="Admin/ScheduleMatch.aspx"
description="Schedule a Match"
roles="Manager,Owner"/>
<siteMapNode title="Edit Squad" url="Admin/EditSquad.aspx"
description="Edit the players in the squad"
roles="Owner"/>
<siteMapNode title="Update Score" url="Admin/UpdateScore.aspx"
description="Edit the score for a match in progress"
roles="Reporter"/>
<siteMapNode title="Match Report" url="Admin/MatchReport.aspx"
description="Upload or edit a match report"
roles="Reporter" />
<siteMapNode title="Shop" url="Admin/UpdateProducts.aspx"
description="Update products"
roles="Administrator" />
<siteMapNode title="User Admin" url="Admin/UserAdmin.aspx"
description="Administer users"
roles="Administrator" />
</siteMapNode>
</siteMapNode>
</siteMap>
class="MsoNormal">[/code]