我在考虑让最终用户能够将部分视图(控件)放入存储在数据库中的信息中。有没有办法执行我从数据库中获取的字符串作为Razor视图的一部分?
答案 0 :(得分:8)
我之前曾问过这个问题(这导致我创建了RazorEngine)Pulling a View from a database rather than a file
我至少知道两个:RazorEngine,MvcMailer
我对RazorEngine有偏见,因为它是我所做过的,但我在Github有一个更简单的叫做RazorSharp(虽然它只支持c#)
这些都很容易使用。
string result = RazorEngine.Razor.Parse(razorTemplate, new { Name = "World" });
我没有用过这个,所以我无法帮助。
RazorSharp也支持母版页。
string result = RazorSharp.Razor.Parse(new { Name = "World" },
razorTemplate,
masterTemplate); //master template not required
RazorSharp和RazorEngine都不支持任何Mvc助手,例如Html
和Url
。由于这些库应该存在于Mvc之外,因此需要更多的工作才能使它们与这些助手一起工作。我不能说MvcMailer,但我怀疑情况是一样的。
希望这些帮助。