1

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

Page page = BuildManager.CreateInstanceFromVirtualPath(
    virtualPath, typeof(Page)) as Page;

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

谢谢你。

4

1 回答 1

6

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

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

以下是一些帮助您入门的阅读材料:

于 2009-03-24T23:59:34.913 回答