2013-03-21 71 views
0

我使用MVC站点地​​图提供用于创建一些面包屑MvcSiteMapProvider与Razor视图侧获取当前节点的父母

我想做的事;用剃刀

创建视图上的面包屑我想做些像调用下面显示

<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> 

所以,我怎么能实现在此查看使用剃刀?

回答

1

@Html.MvcSiteMap().SiteMapPath() HTML助手已经这样做了。这是一个模板化控件,您可以通过编辑/Views/Shared/DisplayTemplates/SiteMapPathHelperModel.cshtml文件进行修改,所以基本上可以获得任何您想要的HTML输出。

如果你仍然喜欢这样做后知道,你也可以用MvcSiteMapProvider.SiteMaps.Current.CurrentNode.Ancestors财产(版本4及以上)做到这一点。