MvcSiteMapProvider 是針對 ASP.NET MVC 中,提供菜單、 網站地圖、 站點地圖路徑功能,以及更多的工具。它提供配置使用一個可插入的體系結構,可以是 XML、 數據庫或動態生成導航結構的能力。
如圖:

在MvcSiteMapProvider 中有三種方式來實現站點地圖:XML,.NET Attributes,IDynamicNodeProvider。
下面,我們先通過XML方式來實現站點地圖。
1.新建Mvc4項目,選擇Internet應用程序。然后通過Nuget來安裝MvcSiteMapProvider,本例中使用的是Mvc4,所以需要下載MvcSiteMapProvider Mvc4。安裝成功后,會出現Mvc.sitemap文件。
2.使用XML的方式需要在Mvc.sitemap文件中配置。默認配置如下:
1 <?xml version="1.0" encoding="utf-8" ?> 2 <mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0" 4 xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0 MvcSiteMapSchema.xsd"> 5 6 <mvcSiteMapNode title="Home" controller="Home" action="Index"> 7 <mvcSiteMapNode title="About" controller="Home" action="About"/> 8 </mvcSiteMapNode> 9 10 </mvcSiteMap>
3.在Views文件夾下的Shared文件夾的_Layout.cshtml中,我們將Header下的<nav>下的ul 注釋,然后使用@Html.MvcSiteMap().Menu() 來生成菜單。
然后在@RenderBody()上面加上 @Html.MvcSiteMap().SiteMapPath() 用來生成所謂的面包屑。
修改后的_Layout.cshtml內容如下圖所示:

4.到目前為止,我們已經完成了最基礎的配置,下面我們來看看效果。打開網站,可以看到生成的菜單。點擊About,可以看到生成的面包屑。

本章我們簡單的講解了使用MvcSiteMapProvider的XML方式來生成站點地圖,下一篇我們將深入研究以XML的方式來生成站點地圖。
新手勿噴~
