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

时间:2009-03-24 23:40:10

标签: .net asp.net virtualpathprovider

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

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

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

谢谢。

1 个答案:

答案 0 :(得分:6)

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

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

这是一些让你入门的阅读材料: