我正在考虑构建一个可通过网络配置的布局引擎,并希望在内部直接使用razor引擎。
假设我有一些可通过类、xml或数据库获取的信息 - 我想将其转换为本地razor代码运行时(我指的是基于提供程序模型定义内容和结构的源)。不想每次请求时都动态生成xml文件之类的东西,我觉得最好还是直接编写Razor代码,让该视图引擎处理所有事情。
我能否直接从非文件系统的源将razor代码插入引擎中?
如果我在运行时动态生成.cshtml视图和布局文件并在控制器操作中动态设置这些视图,是否会有任何问题?
我正在考虑构建一个可通过网络配置的布局引擎,并希望在内部直接使用razor引擎。
假设我有一些可通过类、xml或数据库获取的信息 - 我想将其转换为本地razor代码运行时(我指的是基于提供程序模型定义内容和结构的源)。不想每次请求时都动态生成xml文件之类的东西,我觉得最好还是直接编写Razor代码,让该视图引擎处理所有事情。
我能否直接从非文件系统的源将razor代码插入引擎中?
如果我在运行时动态生成.cshtml视图和布局文件并在控制器操作中动态设置这些视图,是否会有任何问题?
这是可以实现的。Razor视图引擎会比经典的Webforms视图引擎更具挑战性,但下面是一些资源:
http://rebuildall.umbraworks.net/2009/11/17/ASP_NET_MVC_and_virtual_views
使用自定义VirtualPathProvider加载嵌入式资源部分视图
您将创建一个自定义ViewEngine来确定要查找视图的位置。 视图可以存储在文件系统中、数据库中或作为嵌入资源。请阅读我提供的链接,你就可以开始了!