可能重复:
Is it possible to use Razor View Engine outside asp.net
我需要将模板与数据合并以在运行时创建唯一的字符串。有人建议我查看ASP.NET MVC 3中的Razor模板视图引擎。看起来很棒,但我需要在MVC视图创建之外使用它。
我知道我可以直接使用核心Razor引擎,但我也发现了一些使Razor更容易使用的项目。像:
有没有人有任何关于在MVC之外使用Razor作为独立模板引擎的指导?有这些包装项目的经验吗?我应该研究其他Razor托管实现吗?
答案 0 :(得分:7)
您可以查看following blog post,其中说明了如何使用Razor视图引擎将模板呈现为字符串。
答案 1 :(得分:7)
答案 2 :(得分:5)
查看RazorTemplates库。它比RazorEngine库更轻量级,它是线程安全的,并且具有非常好的最小接口。
答案 3 :(得分:4)
Phil Haack posted about this way to do it使用生成的类。
您创建一个.cshtml文件,然后在该文件上使用编译时扩展来生成一个类。然后你可以这样做:
var template = new RazorTemplate {
Model = new[] {
new {Name = "Scott", Id = 1},
new {Name = "Steve", Id = 2},
new {Name = "Phil", Id = 3},
new {Name = "David", Id = 4}
}
};
Console.WriteLine(template.TransformText());
答案 4 :(得分:2)
有一篇很好的文章如何使用RazorEngine: How to create a localizable text template engine using RazorEngine
答案 5 :(得分:2)
Jaap Lamfers找到了一个非常好的图书馆:
Razor 2.0 template engine, supporting layouts (on CodeProject)
特性: