我正在使用
<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>
}
答案 0 :(得分:1)
默认情况下,SiteMapPath HTML帮助程序已执行此检查。如果没有节点corresponds to the current request SiteMap.CurrentNode
属性为空。发生这种情况时,不会从SiteMapPath HTML帮助程序输出HTML。
如果这还不足以涵盖您的特定用例,您可以使用内置的FilteredSiteMapNodeVisibilityProvider,custom visibility provider或security trimming来隐藏您的节点不想看见。
如果失败,您可以根据SiteMapPath为SiteMapPath或custom partial view template创建create a custom HTML helper,如果没有其他任何内容符合您的需求。