1

我在用

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

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

喜欢:

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

1 回答 1

1

默认情况下,SiteMapPath HTML 助手已经进行了这项检查。如果没有与当前请求对应的节点,则该SiteMap.CurrentNode属性将为空。发生这种情况时,SiteMapPath HTML 助手不会输出任何 HTML。

如果这不足以涵盖您的特定用例,您可以使用内置的FilteredSiteMapNodeVisibilityProvider自定义可见性提供程序安全修剪来隐藏您不希望可见的节点。

如果做不到这一点,您可以为 SiteMapPath创建一个自定义局部视图模板,或者如果没有其他方法满足您的需求,则可以基于SiteMapPath创建一个自定义 HTML 帮助程序。

于 2014-11-12T15:33:01.640 回答