在运行时动态生成Razor视图?

我正在寻找构建一个Web可配置的布局引擎,并希望直接使用引擎盖下的razor引擎。

假设我通过类,xml或数据库提供了一些信息 – 我想在运行时将其转换为本机剃刀代码(我的意思是暗示我的定义内容和结构的来源是基于提供者模型)。 而不是每次请求转换xml文件或其他东西,我想我也可以写Razor,并让视图引擎处理所有事情。

我可以将razor代码从非文件系统的源直接插入引擎吗?

如果我在运行时动态生成.cshtml视图和布局到文件中会有任何问题[并在控制器动作中动态设置这些视图]吗?

有可能做到。 Razor比传统的Webforms视图引擎有更多的时刻,但这里有一些资源:

http://rebuildall.umbraworks.net/2009/11/17/ASP_NET_MVC_and_virtual_views

使用自定义VirtualPathProvider加载嵌入式资源部分视图

在数据库中存储ASP.Net MVC视图

ASP.NET MVC从数据库加载Razor视图

您将创建一个自定义ViewEngine,用于确定查找视图的位置。 视图可以存储在文件系统,数据库中或作为嵌入式资源。 阅读我提供的链接,它应该让你去!