Можно ли создать страницу из строки в ASP.Net?

Я могу создать страницу из файла с:

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

Как я могу создать страницу из потока или строки?

Спасибо.

1 ответ

Решение

Вы можете создать свой собственный VirtualPathProvider, который находится между анализатором ASP.NET и файловой системой. Поставщик по умолчанию в ASP.NET считывает разметку ASPX с диска, но вы можете создать свою собственную, чтобы читать ее из любого места (SQL, поток, строка и т. Д.).

По сути, он работает так, что пользовательский класс VirtualPathProvider берет на себя обработку виртуальных путей, таких как ~ ~ MyPage.aspx (которые вы должны передать в BuildManager). Он предоставляет собственную логику для решения, что делать с "~/MyPage.aspx", что может включать в себя возврат данных, хранящихся в строке или потоке в памяти.

Вот некоторые чтения, чтобы вы начали:

Другие вопросы по тегам