#asp.net-4.0 #umbraco
#asp.net-4.0 #umbraco
Вопрос:
Я пытаюсь проверить, имеет ли определенный узел свойство «footerTextTitle» с помощью:
@foreach (var nodeLink in footerTop.ChildrenAsList.Where(n => n.GetProperty("footerTextTitle").IsNull() == true))
{
<li><a href='@nodeLink.GetProperty("footerLinkUrl").Value.ToString()'>@nodeLink.GetProperty("footerLinkTitle").Value.ToString()</a></li>
}
и получение «Ссылка на объект не установлена для экземпляра объекта». ошибка.
Как я могу это сделать? Спасибо.
Комментарии:
1. Извините, на самом деле я получаю эту ошибку внутри макроса, к которому прикреплен этот скрипт razor, поэтому я действительно не вижу трассировку стека. Если нет другого способа увидеть это??? (прошу прощения за невежество)
2. оказывается, решение простое: if (n.getProperty(«footerTextTitle») == null) …
3. Вы также можете указать это в
Where
вызове.
Ответ №1:
Чтобы проверить, существует ли свойство, просто проверьте, имеет ли свойство значение null, как показано ниже
@foreach (var nodeLink in footerTop.ChildrenAsList.Where(n => n.GetProperty("footerTextTitle") == null))
{
<li><a href='@nodeLink.GetProperty("footerLinkUrl").Value.ToString()'>@nodeLink.GetProperty("footerLinkTitle").Value.ToString()</a></li>
}
P.S. Для отладки добавьте это к URL
http://www.example.com/page.aspx ?umbDebugShowTrace=true