我已经看了十几种方法来做这件事,而且我很难把事情搞得一团糟。我遇到的问题分为两类:
1)在我看的例子中假设完整的MVC设置。就我而言,我从WebApi项目发送电子邮件,并且不会使用ASP.NET项目存根提供的任何预先连接的MVC视图功能。
2)图书馆要求进行一些我认为不需要的复杂设置,特别是RazorEngine要求我设置一个TemplateManager,当我需要做的就是给.cshtml文件一个模型并获得解析结果。请原谅这个菜鸟问题;我正在这里开展我的第一个.NET项目。谢谢!
答案 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);
是您的观点所期望的。