Исходный код вики Сценарии
Версия 2.1 от Alexandr Fokin на 2022/01/23 12:16
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | 1) | ||
| 2 | |||
| 3 | Pushing UI changes from Blazor Server to browser on server raised events | ||
| 4 | (Отправка изменений пользовательского интерфейса с сервера Blazor в браузер при возникновении событий сервера) | ||
| 5 | [[https:~~/~~/swimburger.net/blog/dotnet/pushing-ui-changes-from-blazor-server-to-browser-on-server-raised-events>>url:https://swimburger.net/blog/dotnet/pushing-ui-changes-from-blazor-server-to-browser-on-server-raised-events]] | ||
| 6 | |||
| 7 | mikoskinen/Blazor.EventAggregator | ||
| 8 | [[https:~~/~~/github.com/mikoskinen/Blazor.EventAggregator>>url:https://github.com/mikoskinen/Blazor.EventAggregator]] | ||
| 9 | Дополнение: После просмотра исходников считаю, что | ||
| 10 | лучше реализовать свое решение на основе методов OnInitialized(Async) для подписки и Dispose(Async) для отписка от события | ||
| 11 | |||
| 12 | |||
| 13 | 2) Проблема внедрения зависимостей через конструктор | ||
| 14 | |||
| 15 | Can we talk about constructor injection now that partial classes are here? #18088 | ||
| 16 | [[https:~~/~~/github.com/dotnet/aspnetcore/issues/18088>>url:https://github.com/dotnet/aspnetcore/issues/18088]] | ||
| 17 | |||
| 18 | Возможное решение - собственная реализация IComponentActivator | ||
| 19 | |||
| 20 | Blazor: Implement IComponentActivator to get components from DI | ||
| 21 | [[https:~~/~~/github.com/abpframework/abp/issues/5527>>url:https://github.com/abpframework/abp/issues/5527]] | ||
| 22 | |||
| 23 | [[https:~~/~~/github.com/abpframework/abp/blob/48c52625f4c4df007f04d5ac6368b07411aa7521/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/DependencyInjection/ServiceProviderComponentActivator.cs>>url:https://github.com/abpframework/abp/blob/48c52625f4c4df007f04d5ac6368b07411aa7521/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/DependencyInjection/ServiceProviderComponentActivator.cs]] | ||
| 24 | |||
| 25 | !Некоторые компоненты могут не работать при использовании самодельного внедрения. Поэтому для них приходится использовать атрибут Inject. | ||
| 26 | |||
| 27 | |||
| 28 | 3) Открыть новую вкладку | ||
| 29 | How can I open a new window | ||
| 30 | [[https:~~/~~/stackoverflow.com/questions/62769031/how-can-i-open-a-new-window-without-using-js>>url:https://stackoverflow.com/questions/62769031/how-can-i-open-a-new-window-without-using-js]] | ||
| 31 | |||
| 32 | |||
| 33 | 4) Работа с файлами | ||
| 34 | |||
| 35 | Загрузка файлов: | ||
| 36 | |||
| 37 | Отправка файлов в ASP.NET Core Blazor | ||
| 38 | [[https:~~/~~/docs.microsoft.com/ru-ru/aspnet/core/blazor/file-uploads?view=aspnetcore-5.0&pivots=webassembly>>url:https://docs.microsoft.com/ru-ru/aspnet/core/blazor/file-uploads?view=aspnetcore-5.0&pivots=webassembly]] | ||
| 39 | |||
| 40 | Для Net.Core 3.1 | ||
| 41 | SteveSandersonMS/BlazorInputFile (Archived) | ||
| 42 | [[https:~~/~~/github.com/SteveSandersonMS/BlazorInputFile>>url:https://github.com/SteveSandersonMS/BlazorInputFile]] | ||
| 43 | |||
| 44 | Скачивание файла: | ||
| 45 | Для скачивания файла можно сделать endpoint - api controller и кнопку, которая перенаправляет на него. | ||
| 46 | Можно использовать NavigationManager. |