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

最佳答案

更新(我全都忘了)

我之前曾问过这个问题(这使我创建了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,我无法说什么,但我怀疑情况是一样的。

希望这些帮助。

10-01 23:15