具有名称值对数组的星火视图引擎

本文关键字:星火 视图 引擎 数组 有名称 | 更新日期: 2023-09-27 17:56:43

我想使用Spark视图引擎(DirectUse)进行电子邮件模板化。所以我深入研究了Spark示例(EmailOrTextTemplating)。但我想要的是使用视图数据中的 NameValuePair(字符串名称、对象值)对象数组作为字典。

然后在模板中使用它,如下所示:

<p>Name = ${#namevaluepairs["name"]}</p>

<if condition='namevaluepairs["date"].ToString("dd-MM-yyyy") == "31-01-2013"'>
  <p>text</p>
</if>

我不知道正确的语法是什么,也不知道如何将名称值对放在视图数据中。谁能帮助我朝着正确的方向前进?

Ps 我阅读了文档,但我看到了使用 Spark 引擎语法的不同方法。

具有名称值对数组的星火视图引擎

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["name"]}
<if condition='ViewData["date"]...'></if>