Castle NVelocity Включая переменные, а не переменное содержимое - PullRequest
0 голосов
/ 02 февраля 2010

Я использую движок Castles NVelocity для работы с шаблонами. Здесь проблема. Некоторые из моих шаблонов работают нормально, но один из них - нет.

#foreach($i in $Items)
<div class="grid_3 folioItem"> <a rel="prettyPhoto[portfolio]" href="$i.Link" class="lightBox"><img src="$i.Image" width="220" height="125" alt="showcase" /></a>
  <h4>$i.ShortName</h4>
  <p>$i.LongName</p>
  <p><a class="button pngFix" href="$i.Link">$i.LinkText</a></p>
</div>
#end

По какой-то причине приведенный выше код работает наполовину. Я получаю шесть наборов тегов div со всеми внутренностями, но Velocity выводит $ i.ShortName вместо содержимого в $ i.ShortName. Любая подсказка, почему это? Если я получу шесть выходных данных, это заставит меня поверить, что Предметы настроены правильно и существуют в шаблоне скорости. Но по какой-то странной причине это не дети.

Теперь Предметы - это List<CategoryItem>, и я проверял снова и снова, чтобы убедиться, что я не ошибся в именах членов.

Чего мне не хватает?

1 Ответ

0 голосов
/ 02 февраля 2010

Хорошо.Так что я понял (я думаю), что, похоже, субобъекты будут только выставлять свои свойства шаблону.Например:

public class Item{
   public string BadName;
   public stirng GoodName {
       get {
           return "Foo"
       }
   }
}

На GoodName можно ссылаться в шаблоне, но BadName не может

...