PDA

View Full Version : آموزش: آموزش ساخت منوی XML در Asp.Net



ایمان مدائنی
چهارشنبه 08 خرداد 1392, 15:26 عصر
در بعضی مواقع ما در حال ساخت سایتی هستیم که دیتابیس ندارد ، در اینگونه سایتها میبایست منوی سایت را بصورت دستی در صفحه MasterPage اضافه کرد و هر زمان که نیاز به افزودن یا تغیرات داشته باشد باید دوباره به صفحه MasterPage بازگشت و منوی اصلی را تغیر داد. حال در بعضی مواقع که سایت شامل تعداد زیادی از صفحات است چه کنیم؟ آیا بهتر نیست که لیست صفحات را در یک فایل جداگانه داشته باشیم و از آنجا تغییرات را اعمال کنیم.
http://madaeny.com/ImagesArticle/49eed6ca6b674ef19571fb0bcc7f31fc.jpg
با افزودن یک SiteMapDataSource و یک Menu که هر دو از امکانت .Net اند و ایجاد یک صفحه XML کارمان را شروع میکنیم.

در ابتدا به صفحه MasterPage رفته و یک Menu و SiteMapDataSource را از Toolbox به صفحه اضافه می کنیم و Data Source منو را بر روی نام SiteMapDataSource ایجاد شده، تنظیم میکنیم:


<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" StaticDisplayLevels="2" Orientation="Horizontal" CssClass="menu">
</asp:Menu>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

StaticDisplayLevels : شماره سطحی که لینک صفحات را از آن به بعد نمایش میدهد.

Orientation : نوع نمایش منو را مشخص میکند که میتواند به دو صورت عمودی و افقی باشد.

در ادامه می بایست یک فایل XML به پروژه اضافه کنید. بر روی پروژه کلیک راست کرده و در قسمت Add گزینه Sitemap را انتخاب میکنید و پس از انتخاب نام فایل یک فایل XML با مشخصات زیر به پروژه شما اضافه میشود.


<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="" title="" description="">
<siteMapNode url="" title="" description="" />
<siteMapNode url="" title="" description="" />
</siteMapNode>
</siteMap>

url : آدرس سایت یا صفحه ای که میخواهید ارجاع دهید.

title : نامی که به کاربر نمایش داده می شود.

description : توضیحاتی که پس از قرار گرفتن موس بر روی لینک بصورت ToolTip نمایش داده می شود یا به عبارتی title لینک.

حال کافی است صفحات سایت را در فایل XML اضافه کنید:


<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="" title="" description="">
<siteMapNode url="~/default.aspx" title="صفحه اصلی" description="توضیحات مربوط به صفحه اصلی" />
<siteMapNode url="~/product.aspx" title="محصولات" description="توضیحات مربوط به محصولات">
<siteMapNode url="~/product.aspx?Id=1" title="محصول شماره 1" description="توضیحات مربوط به محصولات شماره 1"/>
<siteMapNode url="~/product.aspx?Id=2" title="محصول شماره 2" description="توضیحات مربوط به محصولات شماره 2"/>
<siteMapNode url="~/product.aspx?Id=3" title="محصول شماره 3" description="توضیحات مربوط به محصولات شماره 3"/>
</siteMapNode>
<siteMapNode url="~/about.aspx" title="درباره ما" description="توضیحات مربوط به درباره ما" />
<siteMapNode url="~/contact.aspx" title="تماس با ما" description="توضیحات مربوط به تماس با ما" />
</siteMapNode>
</siteMap>

فایل کامل پروژه به همراه فایل css که نحوه اعمال تغییرات دلخواه بروی style منو میباشد، به همراه مقاله ضمیمه میگردد.

با آرزوی موفقیت و سلامتی

منبع مقاله : Madaeny.com (http://www.madaeny.com/)