1

Я используюПроверьте .NET MVC сайт существует

<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

По умолчанию, помощник SiteMapPath HTML уже делает эту проверку. Если нет узла, то corresponds to the current request свойство SiteMap.CurrentNode будет равно null. Когда это произойдет, HTML не будет выводиться из HTML-помощника SiteMapPath.

Если это недостаточно для покрытия вашего конкретного варианта использования, вы можете использовать встроенный FilteredSiteMapNodeVisibilityProvider, custom visibility provider или security trimming, чтобы скрыть узлы, которые вам не нужны.

В противном случае вы можете создать custom partial view template для SiteMapPath или create a custom HTML helper на основе SiteMapPath, если ничто иное не соответствует вашим потребностям.

Смежные вопросы