使用RazorEngine电子邮件模板在正文中生成html

时间:2016-11-17 19:59:03

标签: asp.net-mvc razorengine

我使用RazorEngine生成包含模板的电子邮件。

我遇到的问题是我无法在电子邮件正文中添加换行符。

var model = new EmailModel
        {
            Destination = "anon@gmail.com",
            Subject = "Some Subject",
            Body = "Hello <br> Break <br> it <br> up"
        };

var service = TemplateManager.RazorService;
var htmlBody = service.RunCompile("EmailTemplate.cshtml", model.GetType(), model);
await EmailService.SendEmail(model.Destination, model.Subject, htmlBody);

我尝试在我的模板中执行以下操作:

@Html.Raw(Model.Body)

但它仍然不会解码html,任何想法?

2 个答案:

答案 0 :(得分:2)

正文中的<br>标记不正确。

<br>替换为<br />

答案 1 :(得分:0)

更新:

已在此处找到解决方案:https://github.com/Antaris/RazorEngine/issues/34

在这里:RazorEngine: cannot use Html.Raw

  

使用@(new RawString(“ html string here”))或@Raw(“ html   。而不是@ Html.Raw(“此处是html字符串”)。