2011-01-26 141 views
31

可能重複:
Is it possible to use Razor View Engine outside asp.net使用剃刀不MVC

我需要與數據合併模板在運行時創建的唯一字符串。有人建議我看看ASP.NET MVC 3中的模板視圖引擎Razor。看起來不錯,但我需要在創建MVC視圖之外使用它。

我知道我可以直接使用核心Razor引擎,但是我也發現了一些讓Razor更容易使用的項目。像:

  1. 裏克施特拉爾剃刀主機模板 引擎 - http://www.west-wind.com/weblog/posts/864461.aspx
  2. 剃刀引擎在Codeplex - http://razorengine.codeplex.com/

是否有人在使用MVC之外剃鬚刀作爲一個獨立的模板引擎的任何指導?這些包裝項目的任何經驗?我應該看看其他Razor託管實施嗎?

回答

23
+1

三分佳和有用的答案。很難選擇一個。我選擇了這一個,因爲它鏈接到一個stackoverflow quetsion,我應該已經發現我自己和該帖子鏈接到安德魯護士博客文章http://blog.andrewnurse.net/2010/07/22/UsingTheRazorParserOutsideOfASPNet.aspx – 2011-01-28 15:51:43

+1

頁面鏈接以上移動;爲了將來的參考,此時的位置是[here](http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html )。 – Jon 2011-10-11 21:39:06

5

您可以看看following blog post,它說明了如何使用Razor視圖引擎將模板呈現爲字符串。

4

菲爾哈克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()); 
    
3

RazorTemplates庫。它比RazorEngine庫更輕量,它是線程安全的,並具有非常好的最小界面。