【问题标题】:How to use Razor View Engine in a console application?如何在控制台应用程序中使用 Razor View Engine?
【发布时间】:2012-02-24 05:46:47
【问题描述】:

我的控制台应用程序需要发送 HTML 电子邮件。我想在 Razor 视图中以 HTML 格式编写电子邮件,并让引擎生成电子邮件正文内容。

这意味着没有控制器或请求。我该怎么办?

【问题讨论】:

  • 我想知道6年后这个问题的答案是什么?现在,我需要解析 HTML 模板并使用 @Model 替换值。

标签: c# .net asp.net-mvc


【解决方案1】:

有一个开源项目允许使用 Razor 作为通用模板引擎:它被称为RazorEngineGitHub 中的代码)

项目页面的示例:

string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });

【讨论】:

  • 是的,我已经看过了,但我喜欢将视图放在单独的文件中的想法。
  • 您可以将模板放在单独的文件中,只需从文件中加载模板并将其传递给引擎。
  • 我下载过,之前搞过,看起来很有前途。
  • 我用过这个,但不是一个超级粉丝,虽然我不知道有更好的选择。我最大的问题是我无法让它支持强类型模型。
  • 我正在使用它,它非常好。但它有以下缺点: 1- 没有强类型模型。 2-您不能使用 html 助手。所以,没有局部视图:S!3-如果你使用 3.0 版,它支持布局和部分,但它超级慢并且会杀死你的机器!!
【解决方案2】:

我有一个demo project on GitHub,它演示了如何使用 Razor 视图在正在运行的 ASP.Net 应用程序的上下文之外呈现内容。它为布局、_ViewStart 文件、partials、HtmlHelper、Urlhelper 等提供全面支持。

请注意,它使用RazorGenerator Visual Studio 工具来预编译 Razor 模板。

请参阅我的介绍性 blog post 了解更多背景信息。

【讨论】:

  • 看起来很有希望。 Nuget 支持会很好:)
猜你喜欢
  • 2012-01-12
  • 1970-01-01
  • 2010-11-05
  • 2021-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-30
相关资源
最近更新 更多