0

Castles の NVelocity Engine を使用してテンプレートの作業を行っています。これが問題です。私のテンプレートのいくつかは正常に動作しますが、そのうちの 1 つは動作しません。

#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

何らかの理由で、上記のコードは途中で動作します。すべての内部を含む 6 セットの div タグを取得しますが、Velocity は $i.ShortName のコンテンツではなく $i.ShortName を出力します。これがなぜなのか手がかりはありますか?6 つの出力が得られた場合、Items が正しく設定され、Velocity Template に存在すると信じることができます。しかし、何らかの奇妙な理由で、子供たちはそうではありません。

Now Items は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 に答える