使用SiteMapPath之前必須先建立站點地圖,因爲SiteMapPath控件要依賴站點地圖才能顯示
開始=>新鍵一個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" description="主頁" resourceKey="主鍵"/>
子目錄的有頁面話,做如下配置 例如:
<siteMapNode url="~/Default.aspx" title="Home" description="主頁" resourceKey="主鍵">
<siteMapNode url="~/temp/index.aspx" title="index" description="indexpage" resourceKey="index" />
</siteMapNode>
在子目錄中的子目錄有頁面話,做如下配置 例如:
<siteMapNode url="~/Default.aspx" title="Home" description="主頁" resourceKey="主鍵">
<siteMapNode url="~/temp/index.aspx" title="index" description="indexpage" resourceKey="index" >
<siteMapNode url="~/temp/temp2/show.aspx" title="show" description="show" resourceKey="show" />
</siteMapNode>
</siteMapNode>
就是同目錄下的頁面 配置要保持目錄一致
-->
<siteMapNode url="~/Default.aspx" title="Home" description="主頁" resourceKey="主鍵">
<siteMapNode url="~/index.aspx" title="index" description="indexpage" resourceKey="測試1" />
<siteMapNode url="~/temp/test001.aspx" title="index22" description="indexpage2" resourceKey="測試2" />
<siteMapNode url="~/temp/test002.aspx" title="002" description="002" resourceKey="測試3" />
<siteMapNode url="~/temp/Default001.aspx" title="測試" description="測試" resourceKey="測試">
<siteMapNode url="~/sell/新文件夾1/Default001.aspx" title="xue" description="xue" resourceKey="xue">
</siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>
使用“SiteMapPath”控件無需代碼和綁定數據就能創建網站導航。此控件可自動讀取和呈現網站圖信息。
Web.sitemap 導航XML文件
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="首頁" url="SiteMapTest.aspx" >
<siteMapNode title="產品" roles="*">
<siteMapNode title="Windows" url="SiteMapTest.aspx?id=windows" />
<siteMapNode title="Office" url="SiteMapTest.aspx?id=office" />
<siteMapNode title="Mobile Devices" url="SiteMapTest.aspx?id=mobile" />
<siteMapNode title="Business Solutions" url="SiteMapTest.aspx?id=business" />
<siteMapNode title="Servers" url="SiteMapTest.aspx?id=servers" />
<siteMapNode title="Developer Tools" url="SiteMapTest.aspx?id=tools" />
<siteMapNode title="Games and XBox" url="SiteMapTest.aspx?id=games" />
<siteMapNode title="All Products" url="SiteMapTest.aspx?id=all" />
</siteMapNode>
<siteMapNode title="資源" roles="*">
<siteMapNode title="支持" roles="*">
<siteMapNode title="修改密碼" url="~/Login/ChangePassword.aspx" />
<siteMapNode title="Knowledge Base" url="SiteMapTest.aspx?id=knowledge" />
</siteMapNode>
<siteMapNode title="Downloads" url="SiteMapTest.aspx?id=downloads" />
<siteMapNode title="Windows Update" url="SiteMapTest.aspx?id=windowsupdate" />
<siteMapNode title="Office Update" url="SiteMapTest.aspx?id=officeupdate" />
<siteMapNode title="Learning Tools">
<siteMapNode title="Training & Certification" url="SiteMapTest.aspx?id=training" />
<siteMapNode title="Books" url="SiteMapTest.aspx?id=books" />
<siteMapNode title="Events & Webcasts" url="SiteMapTest.aspx?id=events" />
<siteMapNode title="Patterns & Practices" url="SiteMapTest.aspx?id=patterns" />
</siteMapNode>
<siteMapNode title="Community" url="SiteMapTest.aspx?id=community" />
<siteMapNode title="Security" url="SiteMapTest.aspx?id=security" />
</siteMapNode>
<siteMapNode title="RSS" roles="*">
<siteMapNode title="公司關係" url="SiteMapTest.aspx?id=relations" />
<siteMapNode title="RSSSite" url="~/RSS/RSSSite.aspx" />
<siteMapNode title="Careers" url="SiteMapTest.aspx?id=careers" />
<siteMapNode title="About this Site" url="SiteMapTest.aspx?id=about" />
</siteMapNode>
</siteMapNode>
</siteMap>
Web.sitemap文件必須包含根結點sitemap。一張站點地圖由一系列相聯繫的SiteMapNode對象組成。這些SiteMapNode以一種層次方式聯繫在一起。該層次包含單個根結點-它是該層中唯一的一個沒有父結點的結點,代表首頁。在該父sitemapnode結點下,可以有若干個子sitemapnode結點,分別按層次結構代表了網站的各子欄目(留意一下上例中,各個子結點之間的包含關係)。
1、添加一個網站地圖項 Web.sitemap項
2、在 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="首頁" description="">
<siteMapNode url="Supply.aspx" title="產品信息" description="" >
<siteMapNode url="productdetails.aspx" title="產品詳細信息" description="" />
</siteMapNode>
<siteMapNode url="register.aspx" title="新用戶註冊"/>
<siteMapNode url="Demand.aspx" title="產品信息" description="">
</siteMapNode>
<siteMapNode url="Projects.aspx" title="招投標信息" description="">
<siteMapNode url="DownLoad.aspx" title="相關表格下載" description="" />
<siteMapNode url="ProjectInfor.aspx" title="招投標詳細信息" description="" />
</siteMapNode>
<siteMapNode url="newsfront.aspx" title="新聞" description="">
<siteMapNode url="news_detail.aspx" title="行業資訊詳細信息" description="" />
<siteMapNode url="company_details.aspx" title="會員展廳詳細信息" description="" />
<siteMapNode url="ManuscriptFront.aspx" title="在線投稿" description="" />
<siteMapNode url="subject_detail.aspx" title="專題欄目詳細信息" description="" />
<siteMapNode url="expertinterview_detail.aspx" title="人物專訪詳細信息" description="" />
</siteMapNode>
<siteMapNode url="ForeTrain.aspx" title="培訓諮詢" description="">
<siteMapNode url="TrainInfor.aspx" title="培訓詳細信息" description="" />
<siteMapNode url="BusiHandBook.aspx" title="商務手冊" description="" />
<siteMapNode url="Technology.aspx" title="技術諮詢" description="">
<siteMapNode url="TechInfor.aspx" title="技術信息" description=""/>
</siteMapNode>
<siteMapNode url="Expert.aspx" title="專家顧問團" description="" />
</siteMapNode>
<siteMapNode url="ExhibitFront.aspx" title="機電信息展覽館" description="">
<siteMapNode url="exhibit_detail.aspx" title="會展詳細信息" description=""/>
</siteMapNode>
</siteMapNode>
</siteMap>
3、在web.config文件中的配置如下:
<system.web>
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="SiteMap provider which reads in .sitemap XML files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="web.sitemap"/>
</providers>
</siteMap>
</system.web>
4、在頁面需要網站地圖的位置放入SiteMapPath控件,設置SiteMapPath的SiteMapProvider屬性爲config文件中的name的值:XmlSiteMapProvider
即完成網站地圖的製作