Вообще говоря, Портал используется для визуализации контента вне иерархии DOM родительского компонента, а также полезен для визуализации динамического c контента. Порталы нуждаются в ссылочном элементе / компоненте, чтобы присоединиться к нему. Например, в angular CDK у вас есть Portal и PortalOutlet (элемент ссылки).
Blazor не предлагает эту функциональность изначально, но вы можете сделать нечто подобное, используя RenderFragment и сервис.
Предположим, у вас есть компонент, ваш PortalOutlet. Этот компонент имеет параметр типа RenderFragment, он также предоставляет сервис для присоединения и отсоединения контента к этому Renderfragment. Вы можете использовать этот сервис для добавления компонентов / контента из другого компонента и получить эффект, похожий на порталы. Смотрите пример этой услуги здесь
https://github.com/amuste/DnetOverlay/blob/master/src/DnetOverlayComponent/Infrastructure/Services/OverlayService.cs.
Вы можете увидеть полную реализацию здесь https://github.com/amuste/DnetOverlay