چگونه می توان با ASP.Net یک Site map ساده ایجاد کرد؟

 

ایجاد یک Site Map  ساده برای وب سایت های تحت ASP.NET با استفاده از فایل (Web.sitemap)
 
کنترلر چیست ؟ 
کنترلر یک ابزار برای راهنمائی بازدیدکنندگان وب سایت شما می باشد. با استفاده از کنترلرها می توانید بازدیدکننده را متوجه سازید که در کدام صفحه و قسمت از سایت شما قرار دارد و همچنین به وی این امکان را می دهد تا با یک لینک ساده قابلیت  بازگشت به صفحات قبل را داشته باشید. که در اصطلاح به این عمل ایجاد SiteMap گفته می شوند.  
 
Web.sitemap یک فایل ساده برای ساختن Site Map جهت وب سایت هایی می باشد که در IIS سرویس دهی می شوند و با زبان ASP.NET نوشته شده اند .
هدف استفاده از SiteMap دسترسی آسان تر بازدیدکنندگان به صفحات مختلف وب سایت شما می باشد.
شما می توانید برای ایجاد راه های ساده تر دسترسی کاربرها به سایت خود از کنترلرهای  SiteMapPath ، Menu و TreeView استفاده نمائید.
SiteMapPath نوع دسترسی را نمایش می دهد ، که به آن breadcrumb   و یا  eyebrow هم اطلاق می شود ، که مکان کنونی کاربر در سایت را با استفاده از نام صفحه نمایش می دهد و همچنین یک لینک به صفحات اصلی هم شامل آن می شود .
در یک صفحه با پسوند aspx که دارای یکی از کنترلرهای SiteMapPath می باشد، بایستی نام صفحات در فایل Web.sitemap لیست گردند تا صفحات بصورت صحیح لود شوند و در نمایش آنها مشکلی به وجود نیاید.
 
SiteMapPath
یکی از متداول ترین کنترلرها است ، یک صفحه که دارای کنترلر SiteMapPath است ، دارای کنترلری شبیه به تصویر زیر می باشد ، که یوزر را در یافتن مکانی که حضور دارد ، راهنمائی می کند :
 صفحه اصلی > پشتیبانی ایران هاست > مقالات آموزشی  
 
TreeView
یا استفاده از TreeView وب سایت شما دارای یک سلسله مراتب اصطلاحا درختی خواهد بود که در آن سرشاخه ها دارای شاخه های زیرین هستند و با کلیک برای روی علامت مثبت و منفی در کنار هر سر شاخه ، آن شاخه باز و بسته می شود و محتویات آن قابل رویت می باشند . در سایتی که از TreeView استفاده می شود معمولا چیزی شبیه به مورد زیر وجود دارد .
- صفحه اصلی
        - پشتیبانی ایران هاست
                + مقالات آموزشی  
 
Menu
در صفحاتی از سایت که از Menu استفاده می شود، معمولا یک منو در بالا یا در گوشه های سایت وجود دارد که بسته به نوع طراحی ، می تواند با رفتن موس روی منو به صورت اتوماتیک باز می شود و یا با کلیک بر روی نام سر منو ، منو باز می شود و محتویات آن به نمایش در می آیند.  
 
برای استفاده از این کنترلرها باید حتما نوع کنترلر مورد استفاده در Web.sitemap ذکر شود.
 
برای ساختن Web.sitemap می توانید از طریق زیر عمل کنید:
  1. یک فایل به نام Web.sitemap در wwwroot  وب سایت خود به وجود بیاورید.
  2. فایل Web.sitemap را با استفاده از برنامه و یا در کنترل پنل خود باز کنید و کد زیر را در آن اضافه کنید :

<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
  <siteMapNode title="MainPage" >
    <siteMapNode title="Support" >
      <siteMapNode title="Learning" url="~/Learning.aspx"/>
    </siteMapNode>
  </siteMapNode>
</siteMap>
 
 
Web Application شما در صورتی که URL موردنظر در این فایل لیست نشده باشد و یا دو یا چندین بار ذکر شده باشد ،  fail می گردد. نوع تعریف URL می تواند با “~/” آغاز شود که اشاره به محل فایل Web.sitemap که در روت وب سایت می باشد ، دارد.
 
در ادامه اشاره به نوع به وجود آوردن Learning.aspx می شود.
 
  1. فایل Web.sitemap را ذخیره کنید .
 
طرز به وجود آوردن فایل Learning.aspx با استفاده از کنترلرهای مختلف در زبان VB :
  1. یک فایل در wwwroot وب سایت خود به وجود بیاورید و نام آن را Learning.aspx قرار دهید.
  2. فایل مورد نظر را باز کرده و کدهای زیر را درون قرار دهید :

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="support">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="support">
  <title>Simple Navigation Controls</title>
</head>
<body>
  <form id="form1" runat="support">
  <div>

  <h2>Using SiteMapPath</h2>
  <asp:SiteMapPath ID="SiteMapPath1" Runat="support">
  </asp:SiteMapPath>


  <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="support" />

  <h2>Using TreeView</h2>
  <asp:TreeView ID="TreeView1" Runat="support" DataSourceID="SiteMapDataSource1">
  </asp:TreeView>

  <h2>Using Menu</h2>
  <asp:Menu ID="Menu2" Runat="support" DataSourceID="SiteMapDataSource1">
  </asp:Menu>

  <h2>Using a Horizontal Menu</h2>
  <asp:Menu ID="Menu1" Runat="support" DataSourceID="SiteMapDataSource1"
    Orientation="Horizontal" 
    StaticDisplayLevels="2" >
  </asp:Menu>

  </div>
  </form>
</body>
</html>
 
 
  1. فایل مورد نظر را ذخیره کنید .
 
طریقه به وجود آوردن فایل Learning.aspx با استفاده از کنترلرهای مختلف در زبان C# :
  1. یک فایل در wwwroot وب سایت خود به وجود بیاورید و نام آن را Learning.aspx قرار دهید.
  2. فایل مورد نظر را باز کرده و کدهای زیر را درون قرار دهید :
 

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="support">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>Simple Navigation Controls</title>
</head>
<body>
  <form id="form1" runat="support">
  <div>

  <h2>Using SiteMapPath</h2>
  <asp:SiteMapPath ID="SiteMapPath1" Runat="support">
  </asp:SiteMapPath>


  <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="support" />

  <h2>Using TreeView</h2>
  <asp:TreeView ID="TreeView1" Runat="support" DataSourceID="SiteMapDataSource1">
  </asp:TreeView>

  <h2>Using Menu</h2>
  <asp:Menu ID="Menu2" Runat="support" DataSourceID="SiteMapDataSource1">
  </asp:Menu>

  <h2>Using a Horizontal Menu</h2>
  <asp:Menu ID="Menu1" Runat="support" DataSourceID="SiteMapDataSource1"
    Orientation="Horizontal" 
    StaticDisplayLevels="2" >
  </asp:Menu>

  </div>
  </form>
</body>
</html>
 
 
 
3.فایل موردنظر را ذخیره کنید.