我正在考虑让最终用户能够将“部分视图”(控件)放入存储在数据库中的信息中。有没有一种方法可以执行我从数据库获取的作为Razor视图一部分的字符串?
最佳答案
更新(我全都忘了)
我之前曾问过这个问题(这使我创建了RazorEngine)Pulling a View from a database rather than a file
我至少知道两个:RazorEngine,MvcMailer
我对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帮助器,例如
Html
和Url
。由于这些库应该存在于Mvc之外,因此需要更多工作才能使其与那些帮助程序一起使用。关于MvcMailer,我无法说什么,但我怀疑情况是一样的。希望这些帮助。