آموزش WebForm-کنترل Navigation
ASP.NET دارای کنترل های navigation می باشد
Web Site Navigation
مدیریت منو برای سایت های بزرگ مشکل و وقت گیر است.
در ASP.NET، منو می تواند در یک فایل ذخیره شود تا مدیریت آن آسان تر شود. این فایل web.sitemap نامیده می شود، و در ریشه دایرکتوری وب ذخیره می شود.
به علاوه، ASP.NET سه کنترل navigation دارد:
-
Dynamic menus
-
TreeViews
-
Site Map Path
فایل 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> می تواند دارای چندین گره فرزند باشد (WebPage)
-
هر گره <siteMapNode> دارای ویژگی هایی است که URL و عنوان صفحه را تعریف می کند.
|
نکته: فایل 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 استفاده نمی کند.
|
نکته: اگر SiteMapPath به صورت صحیح نمایش داده نشد، به احتمال زیاد، یک خطای URL وجود (در تایپ آن) در فایل Web.sitemap وجود دارد. |
Code مثال:
<form runat="server">
<asp:SiteMapPath runat="server" />
</form>
کنترل <asp:SiteMapPath> در مثال بالا placeholder ی است برای نمایش مسیر سایت که توسط سرور ایجاد شده است.