Spark与一些namevaluepair的视图引擎

时间:2013-01-31 09:53:25

标签: c# syntax template-engine spark-view-engine keyvaluepair

我想使用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引擎语法的不同方法。

1 个答案:

答案 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>