Я получаю сообщение об ошибке в макросе Umbraco 7.0.3, который проходит через все дочерние элементы и возвращает немного больше, чем список. Для начала я использовал бэк-офис Umbraco для создания базовой навигации и элементов бокового меню. Между тем, как только локальная среда настроена, я начал работать локально.
Проблема в том, что код, который я создал с помощью бэк-офиса для навигации, работает нормально, но тот же код не работает, если элементы созданы в версии VS2012 Ultimate, даже если я просто вставляю тот же код из исходного рабочего макроса навигации.
Я получаю следующую ошибку: «Umbraco.Web.Models.DynamicPublishedContentList» не содержит определения «Любой», что предполагает, что список страниц является динамическим. К моему удивлению, тот же самый код работает для существующей навигации, тогда почему не с новыми элементами? Есть ли в VS2012 какая-либо настройка, при которой файл помечается как непригодный для использования с редакторами UTF8 или недопустимым html?
Мой вопрос: как я могу найти количество или любые элементы в макросе бритвы? Я уже пробовал количество Enumerable items и любые методы, но бесполезно.
Любые указатели на то, как найти количество существующих элементов, будут полезны.
Я предоставляю дополнительную информацию по запросу Пауло. Ошибка в строке "startNode.Children.Where("Visible").Any()". Ниже приведен код макроса:
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@*
=== Macro Parameters To Create ===
Show:True Alias:nodeId Name:Node ID Type:Content Picker
*@
@if (Model.MacroParameters["startNodeID"] != null)
{
@* Get the start node as a dynamic node *@
var startNode = Umbraco.Content(Model.MacroParameters["startNodeID"]);
if (startNode.Children.Where("Visible").Any())
{
<div class="container">
<div class="row">
@foreach (var page in startNode.Children.Where("Visible"))
{
<div class="col-sm-3 col-md-3">
<div class="thumbnail">
<img src="~/images/Tiles/300x200.jpg" alt="@page.Name">
<div class="caption">
<h3><a href="@page.Url">@page.Name</a></h3>
<p>@page.GetPropertyValue("summary").Substring(0, 100)</p>
<a href="@page.Url" class="btn btn-default">Read More</a>
</div>
</div>
</div>
}
</div>
</div>
}
}
startNode.Children.Where("Visible")
? ЭтоIEnumerable<T>
?Enumerable.Any(startNode.Children.Where("Visible"))
работает? - person Paulo Morgado   schedule 26.03.2014