2017-01-09 5 views
1

レイザーページをメールテンプレートとして使用する@Html.Raw(Model.Content)を使用してメールのコンテンツ(Htmlコンテンツ)を表示しようとしています。レイザーメールテンプレートで@ Html.Rawを使用してHTMLコンテンツをレンダリングする

コードを実行するたびに、私はこのエラーを受け取ります:html does not exist in current context

私はこれをRazorEngineがインストールされていることを検証するために別のかみそりページで試しましたが、エラーなしで完全に表示されました。

+1

可能な重複.com/questions/23354588/the-name-html-does-exist-in-current-context-exception) –

+0

@AaronHudon重複としてマークする前に読んだことがありますか?私がやっていることは違う。それは同じエラーかもしれないが、彼らの解決策は私にとってはうまくいかないだろう。 – uikrosoft

答えて

4

電子メールを送信するとき、私はRazorEngine.TemplatingでRazorEngineServiceを使用します。私の場合、それは次のようになります。

using RazorEngine.Templating; 

RazorEngineService.Create().RunCompile(html, ...) 

@ Html.Rawがではないはこの用法で存在する、あなたが同じアセンブリを使用していないと仮定します。私は最終的に私の電子メールでこれを行うことによって、生のHTML出力を得ることができた:// stackoverflowの:[例外「名 『HTMLは』は現在のコンテキスト内に存在しない」](HTTPの

@using RazorEngine.Text 

@(new RawString(Model.Variable)) 
+0

どの時点で 'RazorEngineService.Create()。RunCompile(...)'を使用しますか? – uikrosoft

+0

@uikrosoft、混乱して申し訳ありません。 RazorEngine.Templatingを使用していない場合、これは表示されません。 .cshtmlファイルを電子メールに変換するために使用しているコードは投稿していません。そういうわけで、私は自分が何をしているかを見せて、一つの可能​​性を与えています。あなたの電子メールのCSHTMLページに '@using RazorEngine.Text'を追加し、あなたのHTMLを' @(新しいRawString(Model.Variable)) 'にラップし、それが動作するかどうかを確認することができます。同じアセンブリがロードされている場合は、それが動作するはずです。 –

+0

それは働いた!ありがとう。 – uikrosoft

関連する問題