ASP.net MVC:从DB String执行Razor?

时间:2011-09-23 03:27:01

标签: sql asp.net-mvc razor asp.net-mvc-partialview

我在考虑让最终用户能够将部分视图(控件)放入存储在数据库中的信息中。有没有办法执行我从数据库中获取的字符串作为Razor视图的一部分?

1 个答案:

答案 0 :(得分:8)

更新(我忘了这一切)

我之前曾问过这个问题(这导致我创建了RazorEngine)Pulling a View from a database rather than a file

我至少知道两个:RazorEngineMvcMailer

我对RazorEngine有偏见,因为它是我所做过的,但我在Github有一个更简单的叫做RazorSharp(虽然它只支持c#)

这些都很容易使用。

RazorEngine:

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

MvcMailer

我没有用过这个,所以我无法帮助。

剃刀那样

RazorSharp也支持母版页。

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

RazorSharp和RazorEngine都不支持任何Mvc助手,例如HtmlUrl。由于这些库应该存在于Mvc之外,因此需要更多的工作才能使它们与这些助手一起工作。我不能说MvcMailer,但我怀疑情况是一样的。

希望这些帮助。