是否可以从ASP.Net中的字符串创建页面?

San*_*ira 1 .net asp.net virtualpathprovider

我可以用文件创建一个页面:

Page page = BuildManager.CreateInstanceFromVirtualPath(
    virtualPath, typeof(Page)) as Page;
Run Code Online (Sandbox Code Playgroud)

如何从流或字符串中实例化页面?

谢谢.

Rex*_*x M 6

您可以创建自己的VirtualPathProvider,它位于ASP.NET解析器和文件系统之间.ASP.NET中的默认提供程序从磁盘读取ASPX标记,但您可以创建自己的以从任何位置读取它(SQL,流,字符串等).

本质上它是如何工作的是自定义VirtualPathProvider类接管虚拟路径的处理,如"〜/ MyPage.aspx"(您必须将其传递给BuildManager).它提供了自定义逻辑,用于决定如何处理"〜/ MyPage.aspx",其中可能包括返回存储在字符串或内存流中的数据.

这里有一些阅读来帮助您入门: