我有一个MVC3应用程序,我的几个视图内容在数据库中保存为字符串。 现在我需要创建一个虚拟视图并将其返回给客户端。 我读到这可以通过VirtualPathProvider完成。 但是想知道是否可以通过RazorViewEngine来完成。
EDIT1: 我已根据此链接http://blog.rocketbase.co.uk/2011/04/asp-net-mvc-virtual-path-provider/中的建议使用了VPP。我在global.asax文件中注册了它。 我有一个非常大的网络应用程序,它有很多视图,实际上也存在于项目中。所以在global.asax中注册VPP之后我发现
答案 0 :(得分:0)
RazorViewEngine
使用虚拟路径提供程序(VPP)来查找文件。 ASP.NET中的默认VPP定位磁盘上的文件。您可以编写一个自定义VPP,从数据库中获取视图内容。如果您在ASP.NET中注册自定义VPP,那么MVC肯定能够编译,加载和呈现这些视图。
另一种方法是编写一个全新的视图引擎 - 但这并非易事。如果您不想使用VPP,那么我认为您需要编写自定义视图引擎,因为这两个内置视图引擎当然不支持此功能。