如何简单地解析独立的剃刀模板并将输出用作c#中的电子邮件正文?

时间:2018-03-11 02:07:56

标签: c# asp.net asp.net-web-api razor razorengine

我已经看了十几种方法来做这件事,而且我很难把事情搞得一团糟。我遇到的问题分为两类:

1)在我看的例子中假设完整的MVC设置。就我而言,我从WebApi项目发送电子邮件,并且不会使用ASP.NET项目存根提供的任何预先连接的MVC视图功能。

2)图书馆要求进行一些我认为不需要的复杂设置,特别是RazorEngine要求我设置一个TemplateManager,当我需要做的就是给.cshtml文件一个模型并获得解析结果。

请原谅这个菜鸟问题;我正在这里开展我的第一个.NET项目。谢谢!

1 个答案:

答案 0 :(得分:1)

我不得不在不久前做同样的事情。我找到了这个用于将视图呈现为字符串的类:https://github.com/RickStrahl/WestwindToolkit/blob/master/Westwind.Web.Mvc/Utils/ViewRenderer.cs

像这样使用:

unsigned char c1 = static_cast<unsigned char>(example & 0xFF) ;
unsigned char c2 = static_cast<unsigned char>((example >> 8) & 0xFF) ;
unsigned char c3 = static_cast<unsigned char>((example >> 16) & 0xFF) ;
unsigned char c4 = static_cast<unsigned char>((example >> 24) & 0xFF) ;

如果您需要将模型传递给视图,请按以下方式调用它:

var r = new ViewRenderer();
var renderedView = r.RenderViewToString("~/Views/MyView.cshtml");

var renderedView = r.RenderViewToString("~/Views/MyView.cshtml", model); 是您的观点所期望的。