我使用RazorEngine v3.3使用模板文件创建电子邮件(使用SendGrid Web API发送电子邮件)。我实现了一个基本模板,所以我可以通过覆盖WriteTo()方法来使用我自己的html助手,如图所示here
我的问题是我的电子邮件是Html和部分文本。对于Html模板,我使用razor的默认实现来对@Model值进行html编码。这是因为一些数据来自用户输入。 但是,我不能对文本部分使用相同的实现,因为在阅读时不会解释Html。
所以我看到它的方式我有3个选择:
第一个解决方案似乎最安全,但我有大约50个基于文本的模板,它会降低可读性。
第二个解决方案对我来说似乎最干净,但是这会阻止缓存的使用,因为我会不断地Razor.SetTemplateService()
重新分配正确的基本模板?
你会建议做什么?感谢