2009-06-10 6 views
1

2つの異なるメールを生成するアプリケーションがあります。これらのメールは現在、メールコンテンツであるHTMLベースの文字列を生成する文字列ビルダーを使用して構築されています。.NETテンプレートファイル

このアプローチは面倒です。コードは、HTMLと混合したオブジェクトであるなど、など私が好きなことの例MVCのために使用されるものと類似のテンプレートを持っていると、メールに追加するには、このテンプレートの出力を使用することです。

が、これは例のT4は、その仕事を巻き取るか、私はこのために別のアプローチを使用する方法を追加するために使用して行うことができますか?

テンプレートは、それはいいだろう場合でも、実行時に編集可能である必要はありません。

答えて

2

それはT4で行うことができます。 MVCとまったく同じように動作します。

Clarius T4 Editorを入手することを検討する必要があります。Visual StudioにはT4用のIntelliSenseが付属しておらず、Clarius T4エディターがそれを提供できます。

+0

オブジェクトとテンプレートを供給して、テンプレートにそのオブジェクトを使用して生成された文字列を返す方法上の任意の良い例? – Riri

+0

TextTransform.exeはこれを行うコマンドラインツールです。 http://msdn.microsoft.com/en-us/library/bb126461.aspxを参照してください –

+0

Scott Hanselmanは、彼のNerdDinnerの講演http://videos.visitmix.com/MIX09/T49Fで、これについてかなり良いデモンストレーションを行います。 T4テンプレートについての議論は23:10(トークに23分10秒)から始まります。 –

1

あなたはXSLTを使用していると考えましたか?

XSLテンプレートをデータベースに格納し、簡単なNAME/VALUEペアのアプローチを使用してコード内にテンプレートを埋め込みます。これは非常に効果的で柔軟性があり、出力をブラウザに簡単にパイプすることができます。あるいは、個々のテンプレートをサーバ上のファイルに保存し、そのようにロードすることもできます。

いずれかの方法で、the amount of code to implement this is relatively simple、および.NETはこれを容易にするための場所で多くのクラスがあります。この実装方法の例が必要な場合は、コメントを残して、この回答にいくつかのコード例を追加します。

+0

はい、してください。私はサンプルを見たいと思います。 –

関連する問題