我想使用Spark视图引擎(DirectUse)进行电子邮件模板化。所以我深入研究了Spark示例(EmailOrTextTemplating)。但我想要的是在viewdata中使用NameValuePair(String name,object value)对象的数组作为字典。
然后在模板中使用它:
<p>Name = ${#namevaluepairs["name"]}</p>
或
<if condition='namevaluepairs["date"].ToString("dd-MM-yyyy") == "31-01-2013"'>
<p>text</p>
</if>
我不知道正确的语法是什么或如何将namevaluepairs放在viewdata中。 任何人都可以帮助我朝着正确的方向前进吗?
Ps我阅读了文档但我看到了使用spark引擎语法的不同方法。
答案 0 :(得分:0)
ViewData对象是字典。
在调用Spark:
之前,只需将对象加载到ViewData中var engine = new SparkViewEngine();
var descriptor = new SparkViewDescriptor()
.AddTemplate( templateFileName );
ISparkEngineView view = engine.CreateInstance( descriptor ) as ISparkEngineView;
view.ViewData["name"] = "foo";
view.ViewData["date"] = DateTime.Now;
view.RenderView( writer );
然后在模板中使用ViewData,就像你通常那样:
${ViewData["name"]}
<if condition='ViewData["date"]...'></if>