我的控制台应用需要发送HTML电子邮件。我想在Razor视图中以HTML格式编写电子邮件,并让引擎生成电子邮件正文内容。
这意味着没有控制器或请求。我怎么能这样做?
答案 0 :(得分:26)
有一个开源项目允许使用Razor作为通用模板引擎:它被称为RazorEngine(GitHub上的代码)
项目页面的示例:
string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
答案 1 :(得分:5)
我有一个demo project on GitHub,它演示了如何使用Razor视图在正在运行的ASP.Net应用程序的上下文之外呈现内容。它完全支持布局,_ViewStart文件,partials,HtmlHelper,Urlhelper等。
请注意,它使用RazorGenerator Visual Studio工具预编译Razor模板。
有关更多背景信息,请参阅我的介绍性blog post。