我可以用以下文件创建一个页面:
Page page = BuildManager.CreateInstanceFromVirtualPath(
virtualPath, typeof(Page)) as Page;
如何从流或字符串中实例化页面?
谢谢。
答案 0 :(得分:6)
您可以创建自己的VirtualPathProvider,它位于ASP.NET解析器和文件系统之间。 ASP.NET中的默认提供程序从磁盘读取ASPX标记,但您可以创建自己的以从任何位置读取它(SQL,流,字符串等)。
基本上它是如何工作的是自定义VirtualPathProvider类接管虚拟路径的处理,如“〜/ MyPage.aspx”(你必须传递给BuildManager)。它提供了自定义逻辑,用于决定如何处理“〜/ MyPage.aspx”,其中包括返回存储在字符串或内存流中的数据。
这是一些让你入门的阅读材料: