1. 安装Nuget package
2. 打开 mvc.sitemap 添加以下代码:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0"
xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0 MvcSiteMapSchema.xsd">
<mvcSiteMapNode title="General" key="General" url="General">
<mvcSiteMapNode title="About" controller="Home" action="About"/>
<mvcSiteMapNode title="Contact" controller="Home" action="Contact"/>
<mvcSiteMapNode title="Home" controller="Home" action="Index"/>
</mvcSiteMapNode>
</mvcSiteMap>
3. 在_Layout.cshtml中遍历mvc sitemap:
<!--Only for demo-->
<ul class="nav">
@{
var childSettings = Html.MvcSiteMap().SiteMap.FindSiteMapNodeFromKey("General");
var currentNode = Html.MvcSiteMap().SiteMap.CurrentNode;
foreach (var node in childSettings.ChildNodes)
{
var active = "";
if (currentNode != null && (currentNode.Equals(node) || currentNode.IsDescendantOf(node)))
{
active = "active";
}
<li class="@active">
<a href="@node.Url">@Html.DisplayFor(x => node.Title)</a>
</li>
}
}
</ul>