将视图渲染到控制器外部的字符串?
答
在视图中,我们有一个名为Html.Partial的方法,它将局部渲染为字符串。在你的控制器中,你可以实例化一个HtmlHelper实例,然后调用它的部分扩展方法。确保在控制器中导入System.Web.Mvc.Html命名空间。
答
开源剃刀引擎不正是你所需要的:https://github.com/Antaris/RazorEngine
string razorText = System.IO.File.ReadAllText(razorTemplateFileLocation);
string emailBody = Razor.Parse(razorText, yourViewModel);
答
我做到了用这个:
Rendering ASP.NET MVC Razor Views outside of MVC
很容易。您只需添加一个班级(ViewRenderer.cs)即可使用。
例如,我可以把这个代码外部控制器:
string html = ViewRenderer.RenderView($"~/Views/Partials/Email/WelcomeEmail.cshtml", viewModel);
什么一个奇怪的问题接受。问题:“从不是控制器的类呈现视图?”答:“在你的控制器里......” – 2013-09-18 19:58:27