آموزش WebForm-کنترل Navigation

چاپ

ASP.NET دارای کنترل های navigation می باشد


Web Site Navigation

مدیریت منو برای سایت های بزرگ مشکل و وقت گیر است.

در ASP.NET، منو می تواند در یک فایل ذخیره شود تا مدیریت آن آسان تر شود. این فایل web.sitemap نامیده می شود، و در ریشه دایرکتوری وب ذخیره می شود.

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


فایل 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:

Note

نکته: فایل sitemao بایستی در دایرکتوری ریشه وب قرار گیرد و URL بایستی مرتبط با دایرکتوری ریشه باشد.


Dynamic Menu

کنترل <asp:Menu> یک منوی navigation استاندارد برای سایت ایجاد می کند.

مثال:

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

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

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

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

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


TreeView

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

منو، مشابه یک درخت است که حاوی شاخه های متعددی است که می توانند با نماد + یا - باز و بسته شوند.

مثال:

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

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

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

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

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


SiteMapPath

کنترل SiteMapPath مسیر رسیدن به صفحه جاری را نمایش می دهد. مسیر به عنوان یک لینک قابل کلیک به صفحه قبلی عمل می کند.

بر خلاف TreeView و کنترل منو، کنترل SiteMapPath از SiteMapDataSource استفاده نمی کند.

Note نکته: اگر SiteMapPath به صورت صحیح نمایش داده نشد، به احتمال زیاد، یک خطای URL وجود (در تایپ آن) در فایل  Web.sitemap وجود دارد.

Code مثال:

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

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