ASP.NET 2.0 - هدایت (Navigation)

ASP.NET 2.0 کنترل‌های هدایت داخلی دارد.

هدایت وب‌سایت

نگهداری منوهای هدایت وب‌سایت‌های بزرگ بسیار دشوار و زمان‌بر است.

در ASP.NET 2.0، منو می‌تواند در یک فایل ذخیره شود، که این کار را نگهداری آن را آسان‌تر می‌کند. این فایل معمولاً به نام web.sitemapکه در پوشه ریشه وب‌سایت قرار دارند.

علاوه بر این، ASP.NET 2.0 سه کنترل هدایت جدید دارد:

  • منوهای پویا
  • TreeViews
  • مسیر Site Map

فایل Sitemap

این آموزش از فایل زیر sitemap استفاده می‌کند (سایت‌نما):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Home" url="/aspnet/w3home.aspx">
  <siteMapNode title="Services" url="/aspnet/w3services.aspx">
    <siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
    <siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
  </siteMapNode>
  </siteMapNode>
</siteMap>

قوانین ایجاد فایل sitemap:

  • فایل XML باید شامل برچسب‌های <siteMap> دور محتواست
  • برچسب <siteMap> فقط می‌تواند یک گره فرزند <siteMapNode> داشته باشد (صفحه "خانه")
  • هر <siteMapNode> می‌تواند چندین گره فرزند (صفحات وب) داشته باشد
  • هر <siteMapNode> دارای ویژگی‌هایی برای تعریف عنوان صفحه و URL است

توجه:فایل sitemap باید در پوشه ریشه وب‌سایت قرار گیرد و ویژگی URL باید در مقایسه با این پوشه ریشه باشد.

منو پویا

کنترل <asp:Menu> می‌تواند منوهای هدایت استاندارد وب‌سایت را نمایش دهد.

مثال کد:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>

در مثال‌های بالا <asp:Menu> کنترلیک نگه دارنده جایگزین برای ایجاد منوهای ناوبری توسط سرور است.

منبع داده کنترل توسط خصوصیت DataSourceIdتعریف کنید.id="nav1" آن را به کنترل <asp:SiteMapDataSource>.

کنترل <asp:SiteMapDataSource>به طور خودکار به فایل sitemap پیش‌فرض متصل می‌شود(web.sitemap)

برای مشاهده DEMO Menu کلیک کنید.

TreeView

کنترل <asp:TreeView> می‌تواند منوهای ناوبری چندین مرحله‌ای را نمایش دهد.

این منو شبیه یک درخت با شاخه و برگ است و می‌توان با استفاده از علائم + یا - آن را باز یا بسته کرد.

مثال کد:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>

در مثال بالا کنترل <asp:TreeView>یک نگه دارنده جایگزین برای ایجاد منوهای ناوبری توسط سرور است.

منبع داده کنترل توسط خصوصیت DataSourceIdتعریف کنید.id="nav1" آن را به کنترل <asp:SiteMapDataSource>.

کنترل <asp:SiteMapDataSource>به طور خودکار به فایل sitemap پیش‌فرض متصل می‌شود(web.sitemap)

برای مشاهده DEMO TreeView کلیک کنید.

SiteMapPath

کنترل SiteMapPath می‌تواند یک اشاره‌گر به صفحه فعلی (مسیر ناوبری) را نمایش دهد. این مسیر به عنوان لینک‌های کلیک‌پذیر به صفحه‌های سطح بالاتر نمایش داده می‌شود.

متفاوت از کنترل‌های TreeView و Menu، کنترل SiteMapPathبدون استفاده کنترل SiteMapDataSource به طور پیش‌فرض از فایل web.sitemap استفاده می‌کند.

تذکر:اگر SiteMapPath به درستی نمایش داده نشد، ممکن است به دلیل وجود خطا در فایل web.sitemap باشد.

مثال کد:

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

در مثال بالا کنترل <asp:SiteMapPath>یک نگه دارنده جایگزین برای ایجاد منوهای ناوبری توسط سرور است.

برای مشاهده DEMO SiteMapPath کلیک کنید.