0

我想将 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>

我不知道正确的语法是什么或如何将名称值对放入视图数据中。任何人都可以帮助我朝着正确的方向前进吗?

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

4

1 回答 1

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>
于 2013-01-31T18:09:05.003 回答