我正在寻找构建一个Web可配置的布局引擎,并希望直接使用引擎盖下的剃须刀引擎。
假设我通过类,xml或数据库提供了一些信息 - 我想将其转换为本地剃刀代码在运行时(我的意思是暗示我定义内容的来源和结构基于提供者模型)。不是每次请求都转换一个xml文件或其他东西,我想我也可以编写Razor,并让该视图引擎处理所有事情。
我可以将razor代码从非文件系统的源直接插入引擎吗?
如果我在运行时动态生成.cshtml视图和布局到文件中会有任何问题[并在控制器操作中动态设置这些视图]吗?
答案 0 :(得分:18)
有可能做到。 Razor比传统的Webforms视图引擎有更多的时刻,但这里有一些资源:
http://rebuildall.umbraworks.net/2009/11/17/ASP_NET_MVC_and_virtual_views
Using custom VirtualPathProvider to load embedded resource Partial Views
Storing ASP.Net MVC Views in the Database
ASP.NET MVC load Razor view from database
您将创建一个自定义ViewEngine,用于确定查找视图的位置。视图可以存储在文件系统,数据库中或作为嵌入式资源。阅读我提供的链接,它应该让你去!