C# 在没有MVC的情况下使用Razor

C# 在没有MVC的情况下使用Razor,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我需要将模板与数据合并,以便在运行时创建唯一的字符串。有人建议我看看ASP.NET MVC 3中的模板视图引擎。看起来不错,但我需要在MVC视图创建之外使用它 我知道我可以直接使用核心Razor引擎,但我也发现了一些项目,可以让直接使用Razor变得更简单。比如: Rick Strahl的Razor托管模板 引擎- GitHub上的剃须刀引擎- 有没有人对使用MVC之外的Razor作为独立模板引擎有任何指导?有这些包装器项目的经验吗?还有其他Razor托管实现吗?您可以看看,其中说明了如何使用

我需要将模板与数据合并,以便在运行时创建唯一的字符串。有人建议我看看ASP.NET MVC 3中的模板视图引擎。看起来不错,但我需要在MVC视图创建之外使用它

我知道我可以直接使用核心Razor引擎,但我也发现了一些项目,可以让直接使用Razor变得更简单。比如:

  • Rick Strahl的Razor托管模板 引擎-
  • GitHub上的剃须刀引擎-

  • 有没有人对使用MVC之外的Razor作为独立模板引擎有任何指导?有这些包装器项目的经验吗?还有其他Razor托管实现吗?

    您可以看看,其中说明了如何使用Razor视图引擎将模板呈现为字符串。

    如果您想从Razor模板生成真实内容,可以使用。

    有一篇关于如何使用RazorEngine的文章: Phil Haack使用生成的类

    • 创建一个.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());
      

    看看图书馆。它比RazorEngine库更轻,线程安全,具有非常好的最小接口。

    找到了一个非常好的库,由Jaap Lamfers编写:

    品质:

    • 支持_ViewStart
    • 支架布置
    • 可扩展(支持类似MVC ViewEngines的功能)
    • 包含样本
    • 大量的单元测试
    • 它有很好的文档记录(参见CodeProject链接)

    该链接位于原始问题中。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-简单在我的书中占了上风。谢谢你放下这个@Simon_Weaver!你看起来像是一个只会和@JonSkeet在一起的人,你太有信誉了!:-)挖掘所有答案是值得的。:-)我想我应该看看这个。它使用起来很简单!谢谢