Kal*_*exx 98 c# html-encode razor
我正在尝试使用HTML内容生成电子邮件.这个内容已经经过了环境卫生,所以我并不担心这方面,但是当我打电话时:
Razor.Parse(template, model);
Run Code Online (Sandbox Code Playgroud)
在以下Razor模板上:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body>
@(new System.Web.HtmlString(Model.EmailContent))
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
输出的电子邮件是HTMl编码的,但我需要它解码.我怎么能做到这一点?
Mat*_*ott 171
与MVC的Razor View Engine一样,RazorEngine会自动编码写入模板的值.为了解决这个问题,我们引入了一个名为的接口IEncodedString,默认实现为HtmlEncodedString和RawString.
要使用后者,只需调用以下内置Raw方法TemplateBase:
@Raw(Model.EmailContent)
Run Code Online (Sandbox Code Playgroud)
Tod*_*son 12
仅供参考我有一个包含@ Html.Raw(...)语法的fork:
https://github.com/Antaris/RazorEngine/pull/105