0
我开始使用StringTemplate的首次,而我坚持试图找出如何让StringTemplate的做类似如下:StringTemplate的变量,对象属性
article.st
$elemenets:article/elements()$
文章/ elements.st
$if($it.is_type)$ $it:article/type()$
$elseif($it.is_type2)$ $it:article/type2()$
// also tried: $it.value:article/type2()$, same result
$endif$
文章/ type.st
<type>$it.value$</type>
文/ type2.st
<h1>$it.value.title</h1>
<type2>$it.value.text</type2>
的Program.cs
StringTemplateGroup group = new StringTemplateGroup("article", "Templates");
StringTemplate template = group.GetInstanceOf("Article");
template.SetAttribute("elements", new Element() { is_type = true, value = "<p>Hello Text</p>" });
template.SetAttribute("elements", new Element() { is_type2 = true, value = new { title = "Type 2 Title", text = "Type2 Text" } });
return template.ToString();
这里的问题......如果在(it.is_type)工作正常,和文章/ type.st完美的作品。然而,当我通过一个目的是为“元素”的价值属性我得到这个错误:
Class ClassName has no such attribute: text in template context [Article article/element elseif(it.is_type2)_subtemplate article/type2]
所以 - 我的问题是,我如何访问属性/对象的领域,使用StringTemplate的对象内?
确切地说,这是悲伤虽然:( – 2015-11-13 14:44:12