Справочная информация : у нас работают десятки сайтов для клиентов; все используют одинаковую кодовую базу (ASP. NET WebForms), но совершенно разные дизайны. Структура страницы генерируется программным путем из SQL метаданных сервера с использованием таких элементов управления, как Panel
, которые добавляются в коллекцию Controls
страницы ASP. NET и становятся DIVs
в отображаемом HTML.
Цель: В конечном итоге мы хотим перейти на ASP. NET CORE. Однако, похоже, что нет эквивалента коллекции элементов управления страницы. Ближайшая вещь, которую я могу найти, - это RenderTreeBuilder для добавления компонента Blazor.
Вопрос: Возможно ли использовать BuildRenderTree
для добавления компонента, который содержит нашу домашнюю выпечку HTML ( например, чтобы содержать все между <body>
и </body>
?
Я читал такие статьи, как:
https://chrissainty.com/building-components-via-rendertreebuilder/
https://docs.microsoft.com/en-us/aspnet/core/blazor/components?view=aspnetcore-3.1#manual -rendertreebuilder-logi c
... и экспериментировал с добавлением HTML элементов, но это чрезвычайно громоздко, и я хотел бы программно сгенерировать HTML почти для всей страницы и добавьте его как один RenderFragment
(это правильный термин?).
Возможно ли это? Есть альтернатива?
Править :
@ Ответ Хенка, использующий структуру MarkupString
, и мой, использующий RenderTreeBuilder.AddMarkupContent
, кажутся схожими с точки зрения усилий и требуемой сантехники.
Есть ли какие-либо плюсы и минусы двух подходов, которые я должен рассмотреть?