В зависимости от того, что вы хотите сделать с этими узлами, вы можете использовать бритва , макросы и встроенные возможности кэширования для макросов, чтобы кэшировать выходные данныеmacro :
Вот как получить все узлы 4-го уровня от корневого узла, имеющего свойство nodePropertyX , равное значению :
@foreach (var item in @Model.AncestorOrSelf().Descendants()
.Where("Visible")
.Where("level=4")
.Where("nodePropertyX == \"value\""))
{
<a href="@item.Url">@item.Name</a>
}
Поместите этот код в файл сценариев (Раздел Разработчик , узел Файлы сценариев ), создайте макрос, используя этот файл сценариев, и вставьте макросгде бы (на любом шаблоне) вы хотели отобразить список этих узлов.
Чтобы кэшировать выходные данные макроса , выберите макрос и установите соответствующие свойства (Период кэширования , Кэширование по странице и Персонализация кэша ).