检查.NET MVC Sitemap是否存在

时间:2014-11-12 09:14:47

标签: asp.net-mvc sitemap mvcsitemapprovider asp.net-mvc-sitemap

我正在使用

 <div class="row">
    <div class="col-lg-12 breadcrumb" >
        @Html.MvcSiteMap().SiteMapPath("")
     </div>
 </div>

显示当前页面的站点地图。如何检查当前页面是否存在Sitemap,然后仅显示它?

喜欢:

@if([Check Exists]){
 <div class="row">
    <div class="col-lg-12 breadcrumb" >
        @Html.MvcSiteMap().SiteMapPath("")
     </div>
 </div>
}

1 个答案:

答案 0 :(得分:1)

默认情况下,SiteMapPath HTML帮助程序已执行此检查。如果没有节点corresponds to the current request SiteMap.CurrentNode属性为空。发生这种情况时,不会从SiteMapPath HTML帮助程序输出HTML。

如果这还不足以涵盖您的特定用例,您可以使用内置的FilteredSiteMapNodeVisibilityProvidercustom visibility providersecurity trimming来隐藏您的节点不想看见。

如果失败,您可以根据SiteMapPath为SiteMapPath或custom partial view template创建create a custom HTML helper,如果没有其他任何内容符合您的需求。