2012-02-24 13 views
21

私のコンソールアプリケーションはHTMLメールを送信する必要があります。 RazorビューにHTML形式の電子メールを書き込んで、エンジンに電子メール本文のコンテンツを生成させたいと思います。コンソールアプリケーションでRazor View Engineを使用するには?

これはコントローラも要求もないことを意味します。私はどうすればこれについて行くことができますか?

答えて

22

一般的なテンプレートエンジンとしてカミソリを使用することができるオープンソースプロジェクトがあります:それは呼ばれていますRazorEngineGitHub上のコード)プロジェクトのページのための

サンプル:

string template = "Hello @Model.Name! Welcome to Razor!"; 
string result = Razor.Parse(template, new { Name = "World" }); 
+0

はい私はそれを見ましたが、別々のファイルにビューを持つというアイデアが気に入っています。 – Roman

+3

テンプレートを別々のファイルに置くことができます。ファイルからテンプレートを読み込んでエンジンに渡すだけです。 – nemesv

+0

私はそれをダウンロードして前に乱して、有望に見えます。 –

3

I Razorビューを使用して実行中のASP.Netアプリケーションのコンテキスト外でコンテンツをレンダリングする方法を示すdemo project on GitHubがあります。これは、レイアウト、_ViewStartファイル、パーシャル、HtmlHelper、Urlhelperなどを完全にサポートします。

Visual StudioツールRazorGeneratorを使用して、Razorテンプレートをプリコンパイルします。

詳細については、blog postの紹介をご覧ください。

関連する問題