我正在使用MVC站点地图提供程序来创建一些面包屑
我想做什么;使用剃刀在视图上创建面包屑我想做一些如下所示的电话
<div id="navbar">
<div>YOU ARE HERE:
// There is no calls like this but you get the idea
@if (SiteMap.CurrentNode.HasParentNodes == true)
{
// I'd like to loop trough each parent till the RootNode
foreach (SiteMapNode Snode in SiteMap.CurrentNode.ParentNodes)
{
<a href="@Snode.Url">@Snode >></a>
}
} else {
// If there is no parent just show current node
<a href="@SiteMap.CurrentNode.Url.ToString()">@SiteMap.CurrentNode</a>
}
</div>
<div>@DateTime.Now.Date.ToLongDateString()</div>
</div>
那么如何使用Razor on View实现这一目标呢?
答案 0 :(得分:1)
@Html.MvcSiteMap().SiteMapPath()
HTML帮助程序已经执行此操作。这是一个模板控件,您可以通过编辑/Views/Shared/DisplayTemplates/SiteMapPathHelperModel.cshtml
文件进行修改,因此基本上您可以获得所需的任何HTML输出。
如果您仍然希望在知道之后按照自己的方式执行此操作,也可以使用MvcSiteMapProvider.SiteMaps.Current.CurrentNode.Ancestors
属性(版本4及更高版本)执行此操作。