是否可以从 ASP.Net 中的字符串创建页面?
我可以通过以下方式从文件创建页面:
Page page = BuildManager.CreateInstanceFromVirtualPath(
virtualPath, typeof(Page)) as Page;
如何从流或字符串实例化页面?
谢谢。
I can create a page from a file with:
Page page = BuildManager.CreateInstanceFromVirtualPath(
virtualPath, typeof(Page)) as Page;
How can I instantiate a page from a stream or a string?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以创建自己的 VirtualPathProvider,位于 ASP.NET 解析器和文件系统之间。 ASP.NET 中的默认提供程序从磁盘读取 ASPX 标记,但您可以创建自己的提供程序以从任何位置(SQL、流、字符串等)读取它。
本质上它的工作原理是自定义 VirtualPathProvider 类接管像“~/MyPage.aspx”这样的虚拟路径的处理(您必须将其传递给 BuildManager)。 它提供了自定义逻辑来决定如何处理“~/MyPage.aspx”,其中可能包括返回存储在内存中的字符串或流中的数据。
以下是一些帮助您入门的阅读内容:
You can create your own VirtualPathProvider, which sits between the ASP.NET parser and the file system. The default provider in ASP.NET reads ASPX markup from disk, but you can create your own to read it from anywhere (SQL, a stream, a string, etc).
Essentially how it works is that the custom VirtualPathProvider class takes over the handling of virtual paths like "~/MyPage.aspx" (which you must pass in to the BuildManager). It provides custom logic for deciding what to do with "~/MyPage.aspx", which could include returning data stored in a string or stream in memory.
Here's some reading to get you started: