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.

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