1)

Pushing UI changes from Blazor Server to browser on server raised events
(Отправка изменений пользовательского интерфейса с сервера Blazor в браузер при возникновении событий сервера)
https://swimburger.net/blog/dotnet/pushing-ui-changes-from-blazor-server-to-browser-on-server-raised-events

mikoskinen/Blazor.EventAggregator
https://github.com/mikoskinen/Blazor.EventAggregator
Дополнение: После просмотра исходников считаю, что
лучше реализовать свое решение на основе методов OnInitialized(Async) для подписки и Dispose(Async) для отписка от события


2) Проблема внедрения зависимостей через конструктор

Can we talk about constructor injection now that partial classes are here? #18088
https://github.com/dotnet/aspnetcore/issues/18088

Возможное решение - собственная реализация IComponentActivator 

Blazor: Implement IComponentActivator to get components from DI
https://github.com/abpframework/abp/issues/5527

https://github.com/abpframework/abp/blob/48c52625f4c4df007f04d5ac6368b07411aa7521/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/DependencyInjection/ServiceProviderComponentActivator.cs

!Некоторые компоненты могут не работать при использовании самодельного внедрения. Поэтому для них приходится использовать атрибут Inject.


3) Открыть новую вкладку
How can I open a new window
https://stackoverflow.com/questions/62769031/how-can-i-open-a-new-window-without-using-js


4) Работа с файлами

Загрузка файлов:

Отправка файлов в ASP.NET Core Blazor
https://docs.microsoft.com/ru-ru/aspnet/core/blazor/file-uploads?view=aspnetcore-5.0&pivots=webassembly

Для Net.Core 3.1
SteveSandersonMS/BlazorInputFile (Archived)
https://github.com/SteveSandersonMS/BlazorInputFile

Скачивание файла:
Для скачивания файла можно сделать endpoint - api controller и кнопку, которая перенаправляет на него.
Можно использовать NavigationManager.


5) Оптимизация рендеринга строк (RowId)

Optimising using @key
https://blazor-university.com/components/render-trees/optimising-using-key


6) Динамические отрисовка компонентов (динамическое выбор типа компонента)

How to Dynamically Render a Component in a Blazor Application
https://www.syncfusion.com/blogs/post/how-to-dynamically-render-a-component-in-a-blazor-application.aspx

Blazor - Как динамически создавать компоненты
https://question-it.com/questions/789772/blazor-kak-dinamicheski-sozdavat-komponenty


7) Виртуализация списков (частичный рендер списка)

Виртуализация компонентов ASP.NET Core Blazor
https://docs.microsoft.com/ru-ru/aspnet/core/blazor/components/virtualization?view=aspnetcore-5.0
 

Теги:
Создал(а) Alexandr Fokin 2022/01/23 12:15