0

我正在使用 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 上的内容。任何线索这是为什么?如果我得到六个输出,这会让我相信 Items 设置正确并且存在于 Velocity Template 中。但出于某种奇怪的原因,孩子们不会。

现在项目是一个List<CategoryItem>,我一遍又一遍地检查以确保我没有拼错成员的名字。

我错过了什么?

4

1 回答 1

0

好的。所以我想通了(我认为)子对象似乎只会将它们的属性暴露给模板。例如:

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

模板中可以引用GoodName,但BadName不能

于 2010-02-02T17:19:45.270 回答