Миграция проекта с ASP.NET Web Forms на Blazor
При этом заметьте, как запутана логика отрисовки - чтобы понять, что будет в итоге, чёрт ногу сломит метаться между файлами:
1) встречаем такую разметку, которая использует компонент
<ChildContentComponent> <ChildContent> <p>The time is @DateTime.Now</p> </ChildContent> </ChildContentComponent>
2) идём в code-behind смотреть, что это за ChildContent
@code { [Parameter] public RenderFragment ChildContent { get; set; } }
3) смотрим в разметке компонента, куда будет отрисован ChildContent
<h1>Component with child content</h1> <div>@ChildContent</div>
4) пытаемся собрать воедино всю эту бурду - вставляем в ChildContentComponent (пункт 1) разметку из компонента (пункт 2)
<ChildContentComponent> <h1>Component with child content</h1> <div>@ChildContent</div> </ChildContentComponent>
5) убираем лишнее обрамление (оно не отрисовывается в конечной HTML-разметке)
<h1>Component with child content</h1> <div>@ChildContent</div>
6) вставляем в свойство ChildContent его шаблон (снова возвращаемся за ним в пункт 1)
<h1>Component with child content</h1> <div><p>The time is @DateTime.Now</p></div>
Вот что будет отрисовано вместо изначальной разметки в пункте 1.
Офигеть как всё запутали! И это простой случай - без кучи параметров со своими шаблонами, без иерархических шаблонов, без привязок, без параметров типа и без рекурсивных отрисовок шаблонов (нужно для отрисовки древовидной структуры данных). Конечно, можно привыкнуть к любому дерьму, но почему, ска, обязательно через задницу всё?!