2017-01-09 4 views
1

Verwenden der Razor-Seite als E-Mail-Vorlage Ich versuche, den Inhalt der E-Mail (HTML-Inhalt) mit @Html.Raw(Model.Content) anzuzeigen.Rendern von HTML-Inhalt mit @ Html.Raw in Razor Mail-Vorlage

Immer, wenn ich den Code ausführen, erhalte ich diesen Fehler: html does not exist in current context.

Ich versuchte diese @Html.Raw("<strong>Bold!</strong>") auf einer anderen Rasierklinge Seite zu validieren RazorEngine ist installiert und es zeigte sich sehr gut, ohne Fehler.

+1

Mögliches Duplikat [ „Der Name‚Html‘existiert nicht im aktuellen Kontext“ Ausnahme] (http: // Stackoverflow .com/questions/23354588/the-name-html-Ist-nicht-existiert-im-aktuellen-Kontext-Ausnahme) –

+0

@AaronHudon Haben Sie gelesen, bevor Sie es als doppelt markieren? Was ich mache ist anders. Es könnte der gleiche Fehler sein, aber ihre Lösung wird für mich nicht funktionieren. – uikrosoft

Antwort

4

Bei E-Mails verwende ich den RazorEngineService in RazorEngine.Templating, z. in meinem Fall, sieht es wie folgt aus:

using RazorEngine.Templating; 

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

Vorausgesetzt, dass Sie die gleiche Anordnung verwenden, @ Html.Raw nicht NICHT mit dieser Nutzung existieren. Ich war schließlich in der Lage rohe HTML-Ausgabe zu erhalten, indem Sie diese in meinen E-Mail:

@using RazorEngine.Text 

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

An welchem ​​Punkt verwende ich 'RazorEngineService.Create(). RunCompile (...)'? – uikrosoft

+0

@uikrosoft, Sorry für die Verwirrung. Wenn Sie RazorEngine.Templating nicht verwenden, würden Sie dies NICHT sehen. Sie haben nicht geschrieben, welchen Code Sie verwenden, um eine .cshtml-Datei in eine E-Mail umzuwandeln. Deshalb lasse ich dich nur sehen, was ich tue und gebe eine Möglichkeit. Sie können versuchen, '@ using RazorEngine.Text' auf Ihrer CSHTML-E-Mail-Seite hinzuzufügen und dann Ihren HTML-Code in' @ (new RawString (Model.Variable)) 'einzufügen und zu überprüfen, ob es funktioniert. Wenn Sie dieselben Baugruppen geladen haben, sollte das funktionieren. –

+0

Es hat funktioniert! Vielen Dank. – uikrosoft