我想做这个:
string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
并且看起来http://razorengine.codeplex.com是完美的,除了它的一岁。
编辑:原来,RazorEngine已经转移到GitHub上,并已提交了几个月回: https://github.com/Antaris/RazorEngine
我注意到,服务栈有一些剃刀自托管,但同时,这里有一个很长的网页http://razor.servicestack.net没有“世界你好,你完全可以从一个控制台做到这一点。”
什么是一个控制台应用程序中生成从ASP.NET剃刀模板HTML目前最好的解决办法?
什么是一个控制台应用程序中生成从ASP.NET剃刀模板HTML目前最好的解决办法?
RazorEngine
。 句号。
ServiceStack是呈现Razor视图页面的另一种选择。 虽然它对于优化整合成一个ASP.NET或HttpListener虚拟主机(并提供API对目录中的自动发现和注册视图页面,重新编制上的苍蝇,等修改的页面),它也支持静态生成视图页面:
var razor = new RazorFormat {
VirtualPathProvider = new InMemoryVirtualPathProvider(new BasicAppHost()),
EnableLiveReload = false, //don't scan for file system for changes
}.Init();
var page = razor.CreatePage("Hello @Model.Name! Welcome to Razor!");
var html = razor.RenderToHtml(page, new { Name = "World" });
html.Print();
下面是这个例子中的独立单元测试 。
使用ServiceStack的Razor视图渲染引擎的好处包括使用许多被移植到ServiceStack了MVC的HtmlHelpers的。 您也可以轻松地从一个自托管ServiceStack HttpListener在看到托管剃刀网站razor-console.servicestack.net ,源代码在其中可用的自托管控制台应用程序或Windows服务 。
南希具有自主选项,并堵塞剃刀作为视图引擎的能力。
https://github.com/NancyFx/Nancy/wiki/Hosting-nancy-with-wcf
https://github.com/NancyFx/Nancy/wiki/Razor-View-Engine
我不会把这个“当前最好”的解决方案。 不过,我觉得这是很有趣的,它可以让你完成你正在尝试做的。 它只是不是很整齐地包裹起来。 http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/
文章来源: What's the current best solution for generating HTML from ASP.NET Razor templates within a Console Application?