Bu makalemizde birçok sitede karşılaştığınız ve seo açısındanda yeri olan hiyerarşik sayfa yapısı ile kullanıcıya o an nerede olduğunu gösteren bir yapıdan bahsetmeye çalışacağız asp.net’de SiteMapPath kontrolü ile bunu sağlayabilirsiniz.
ASP.NET SiteMapPath kontrolü nedir ve nasıl kullanılır
Öncelikle projenize Solution altındaki projenize sağ tuş > Add > New Item diyerek veya Kısayol olarak Ctrl + Shift + A diyerek Sitemap dosyası ekleyiniz ardından alttaki kodları yapıştırın.
Web.Sitemap dosyası XML kodları
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > <siteMapNode url="Default.aspx" title="Home" description="Home Page"> <siteMapNode url="StandardToolBox.aspx" title="Standard ToolBox Control" description="Standard ToolBox Control"> <siteMapNode url="BulletedList.aspx" title="BulltedList Example" description="BulltedList Control Simple Example" /> <siteMapNode url="CheckBox.aspx" title="CheckBox Example" description="CheckBox Control Simple Example" /> <siteMapNode url="CheckBoxList.aspx" title="CheckBoxList Example" description="CheckBoxList Control Simple Example" /> <siteMapNode url="Image.aspx" title="Image Control Example" description="Image Control Simple Example"/> </siteMapNode> <siteMapNode url="DataToolBox.aspx" title="Data ToolBox Control" description="Data ToolBox Control"> <siteMapNode url="SqlDataSource.aspx" title="SqlDataSource Example" description="SqlDataSource Simple Example" /> <siteMapNode url="XmlDataSource.aspx" title="XmlDataSource Example" description="XmlDataSource Simple Example" /> </siteMapNode> </siteMapNode> </siteMap> |
Üstteki kodu basit bir şekilde anlatmak istersek ilk ağaç yapımız Default.aspx url’iyle yer alan Home yani anasayfamızdır diğer sayfaların hepsi Ana Sayfa altında yer almaktadır o yüzden biz Images.aspx sayfaına girdiğimizde nasıl bir hiyerarşik yapının sayfaya bastıralacağını tahmin etmek hiçde zor değil şöyleki Images.aspx üstteki kodlarda yani web.sitemap dosyasında nerede yer almaktadır dediğimizde şöyle bir sonuç çıkıyor Default.aspx > StandartToolBox.aspx > Image.aspx olarak çıkmaktadır ama sayfaya bastırılacak olan bu siteMapNode etiketlerinin title’larıdır yani sayfaya bastırılacak asıl görüntü Image.aspx sayfasına girilldiğinde şu şekilde olacaktır Home > Standart ToolBox Control > Image Control Example.
Image.aspx Dosyası Kodları
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Images.aspx.cs" Inherits="WebApplication2.Images" %> <!DOCTYPE html> <span style="line-height: 1.6;"><html xmlns="http://www.w3.org/1999/xhtml"></span> <head runat="server"> <title>SiteMapPath Kontrolü - Örnek</title> </head> <body> <form id="form1" runat="server"> <div> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /> <asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath> <br /><br /> <asp:Image ID="Image1" runat="server" ImageUrl="~/Images/sahil.jpg" Height="300" Width="400" /> </div> </form> </body> </html> |
Üstteki Image.aspx dosyasının kodlarından gördüğünüz gibi sayfaya 3 adet asp.net nesnesi eklenmiştir bunlar web.SiteMap dosyası ile işlem yapmak için zorunlu olan SiteMapDataSource nesnesidir diğeri ise ekrana bastırma işini asıl üstlenen SiteMapPath nesnesi son olarakda sayfada sahil.jpg dosyamızı göstermek için kullandığımız Image nesnesidir.