همه وب سایتها به جزء بعضی از سادهترین آنها، نیاز به پیاده سازی امکان هدایت کاربران به قسمتهای مختلف سایت دارند. هدایت کاربران ممکن است با لیستی ساده از پیوندها ایجاد شده باشد. همچنین ممکن است این پیوندها در یک منو یا نمای درختی آرایش داده شده باشند. به عنوان توسعه دهنده صفحات، ایجاد رابط کاربری هدایت کاربران نیمی از داستان است. همچنین، بعضی مواقع نیاز است که تعریف ساختار منطقی سایت در نگهداری و به روز رسانی را تعیین نماییم. به عنوان نمونه، هنگام اضافه کردن یک صفحه جدید و یا حذف یک صفحه موجود، بهتر است که ما فقط یک منبع را ویرایش کنیم و اثر آن روی رابطهای کاربری هدایت کاربران نمایان شود.
بدین منظور دو کار باید انجام گیرد: تعیین نقشه سایت و ایجاد رابط هدایت کاربران بر پایه نقشه سایت؛ این کار با استفاده از بستر Site Map و کنترلهای هدایت کاربران بسیار ساده و آسان است. بستر Site Map به توسعه دهندگان اجازه میدهد نقشه سایت را تعیین نموده و سپس به وسیله برنامهنویسی به آن دسترسی داشته باشند.
همانند بسترهای Membership و Roles بستر Site Map نیز بر پایه مدل تهیه کننده ساخته شده است. وظیفه کلاس تهیه کننده Site Map، تولید ساختار مورد استفاده توسط کلاس SiteMap از محل پایدار نگهداری داده، مانند فایل XML و یا جدول پایگاه داده، است. بستر .NET از تهیه کننده پیش فرض Site Map که دادههای Site Map را از فایل XML میخواند استفاده میکند.
تهیه کننده پیش فرض Site Map، به یک فایل XML با فرمت صحیح و با نام Web.sitemap در ریشه سایت نیاز دارد. برای اضافه کردن این فایل بر روی نام پروژه کلیک راست کرده و Add New Item را انتخاب کنید. از کادر محاورهای که نشان داده میشود نوع Site Map را انتخاب و آن را Web.sitemap بنامید.
فایل XML نقشه سایت، ساختار سایت را بر اساس سلسله مراتبی تعیین میکند. Web.sitemap باید با گره پدر <sitemap> شروع شود و فقط یک فرزند <siteMapNode> دارد. عنصر سطح بالای <siteMapNode> نمایشگر ریشه سلسله مراتب است و میتواند دارای تعداد دلخواهی گره فرزند باشد. هر عنصر <siteMapNode> باید دارای ویژگی title و به دلخواه دارای ویژگی url و description باشد.
کدهای زیر را در فایل Web.sitemap قرار دهید:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Home">
<siteMapNode title="Membership">
<siteMapNode url="~/Membership/CreatingUserAccounts.aspx" title="Creating User Accounts" />
<siteMapNode url="~/Membership/UserBasedAuthorization.aspx" title="User-Based Authorization" />
<siteMapNode url="~/Membership/Guestbook.aspx" title="Storing Additional User Information" />
</siteMapNode>
</siteMapNode>
</siteMap>
سلسله مراتب مشخص شده در کدهای بالا در شکل زیر نشان داده شده است:
کلن زبونای مایکروسافتی جزو علائقم نیستن ولی خیلی کارتون درسته..واقعا تلاشتون تحسین برانگیزه..به نظرم هر مهندسی باید یه زبون تحت وب بلد باشه