无法在StringTemplate上正确访问ViewDataDictionary对象

时间:2012-06-28 11:17:48

标签: viewdata stringtemplate

我正在使用StringTemplate版本3.1.4.6002作为MVC项目的视图引擎。我似乎无法访问传递给模板的对象并让它在网页上呈现。所以基本上,我在控制器中有以下内容(在C#中):

var layer1 = new { count = "1", label = "Description" };
var layer2 = new { count = "2", label = "Transcription" };
ViewData["layers"] = new object[] {layer1,layer2};

在视图文件test.st上,我有:

$layers:{
   $it.count$
   $it.label$
}$

模板在网页上不显示任何内容,但如果我在test.st上执行此操作:

$layers$

它将对象显示为:

{ count=1, label=Description } { count=2, label=Transcription }

看起来像是一个字符串。那么如何独立访问计数和标签呢?我已经google了很多,似乎找不到任何可以解决我问题的东西。

顺便说一下,我正在使用Visual Studio V10和.NET Framework Version4。在项目中,我引用了Antlr3.Runtime,Antlr3.Runtime.Debug和Antlr3.StringTemplate dll。此外,我访问简单的字符串对象没有问题。我在here中使用了教程项目。如果需要,我可以提供更多细节。

1 个答案:

答案 0 :(得分:1)

计数和标签字段是公开的,或者如果它们是吸气者,它们是公开的吗?