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>

正しい構文が何であるか、または名前と値のペアをビューデータに配置する方法がわかりません。誰かが正しい方向に私を助けることができますか?

追伸私はドキュメントを読みましたが、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 に答える