2016-05-19 4 views
0

Я использую частичный вид для отображения 5 лучших дочерних узлов определенного узла.Umbraco 7 Несоответствие {и}?

Это работает, но только если я ставлю перед DIV

Еогеасп

например

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage 
<div class="title">Test</div> 
<ul> 
@{ 

var ow = @owCore.Initialise(1085); 
<div> </div> 
var node = Umbraco.Content(1105); 


foreach (var item in node 
      .Children.Where("Visible") 
      .OrderBy("Id descending") 
     .Take(5) 
     ) 
{ 

    <li><a href="@item.Url">@item.pageTitle</a></li> 
} 

} 
</ul> 

производит ожидаемый несортированный список.

Однако, если удалить пустой DIV

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage

Тест
<ul> 
@{ 

    var ow = @owCore.Initialise(1085); 

    var node = Umbraco.Content(1105); 


    foreach (var item in node 
       .Children.Where("Visible") 
       .OrderBy("Id descending") 
      .Take(5) 
      ) 
    { 

     <li><a href="@item.Url">@item.pageTitle</a></li> 
    } 

} 

Ошибки я получаю

Ошибка компилятора Сообщение: CS1513:} ожидается

Источник ошибки:

Line 113:} Строка 114:} Строка 115:}

Clear выглядит слишком мало закрытия '}'

Предположительно ДИВ заставляет закрытие}?

Я проверил owCore (это библиотека функций Я здание в App_Code: Тем не менее, я раздел эту спину и она теперь делает ничего просто чтобы убедиться, что там совпавшие фигурные скобки:

@using Umbraco 
@using Umbraco.Core.Models 
@using Umbraco.Web 

@functions{ 



    public static int Initialise(int siteDocID){ 

      return 0; 
    } 

} 

Однако , если удалить код @owCore с частичным видом

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage

Тест
<ul> 
@{ 



    var node = Umbraco.Content(1105); 


    foreach (var item in node 
       .Children.Where("Visible") 
       .OrderBy("Id descending") 
      .Take(5) 
      ) 
    { 

     <li><a href="@item.Url">@item.pageTitle</a></li> 
    } 

    } 
</ul> 

Все в порядке.

ли это, что означает, что это, безусловно, проблема с owCore или просто что-то еще расцепления вопроса с несовпадающими {}

Я проверил шаблон, призывающий этот частичный вид и не могу найти проблему.

Это не имеет смысла. Может ли кто-нибудь объяснить?

Спасибо!

+0

Не совсем объяснение, но я считаю, что перенос переменных в их собственный раздел {} и запуск нового с помощью @foreach работает большую часть времени ... –

+0

Или, может быть, вам не следует использовать @ in front af owCore ? –

ответ

0

Это на самом деле больше вопрос о бритве.

Вы начинаете свой кодовый блок с @{, и при этом вам не нужно @ перед owCore. Удаление его сделает его рендером даже без <div>, так как анализатор бритвы больше не путает @.

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