ASP.net MVC: Execute Razor from DB String?

前端 未结 1 665
-上瘾入骨i
-上瘾入骨i 2020-12-18 05:52

I was thinking about giving end users the ability to drop Partial Views (controls) into the information being stored in the database. Is there a way to execute a string I ge

相关标签:
1条回答
  • 2020-12-18 06:30

    Update (I forgot all about this)

    I had asked this question previously (which lead me to create RazorEngine) Pulling a View from a database rather than a file

    I know of at least two: RazorEngine, MvcMailer

    I have a bias towards RazorEngine as it's one that I've worked on but I have a much simpler one at Github called RazorSharp (though it only supports c#)

    These are all pretty easy to use.

    RazorEngine:

    string result = RazorEngine.Razor.Parse(razorTemplate, new { Name = "World" });
    

    MvcMailer

    I haven't used this one so I can't help.

    RazorSharp

    RazorSharp also supports master pages.

    string result = RazorSharp.Razor.Parse(new { Name = "World" }, 
                                           razorTemplate, 
                                           masterTemplate); //master template not required
    

    Neither RazorSharp, nor RazorEngine support any of the Mvc helpers such as Html and Url. Since these libraries are supposed to exist outside of Mvc and thus require more work to get them to work with those helpers. I can't say anything about MvcMailer but I suspect the situation is the same.

    Hope these help.

    0 讨论(0)
提交回复
热议问题